Javascript 如何在Selenium WebDriver中获取已执行的函数日志?

Javascript 如何在Selenium WebDriver中获取已执行的函数日志?,javascript,c#,google-chrome,selenium,logging,Javascript,C#,Google Chrome,Selenium,Logging,我正在使用C#,Selenium 3.0.1 var chromeOptions = new ChromeOptions(); chromeOptions.SetLoggingPreference("performance", LogLevel.All); chromeOptions.PerformanceLoggingPreferences = new ChromePerformanceLoggingPreferences() {

我正在使用C#,Selenium 3.0.1

var chromeOptions = new ChromeOptions();

chromeOptions.SetLoggingPreference("performance", LogLevel.All);
chromeOptions.PerformanceLoggingPreferences = new ChromePerformanceLoggingPreferences()
                {
                    IsCollectingTimelineEvents = true,
                    IsCollectingPageEvents = true
                };

chromeOptions.PerformanceLoggingPreferences.AddTracingCategory("v8,v8.runtime,v8.runtime_stats,browser");

Browser = new ChromeDriver(chromeOptions);
我在这里使用了许多跟踪类别,但找不到记录已执行函数的类别。是否可以获取javascript程序执行日志(已执行函数列表)?如果可能,我如何获得它?

Selenium提供了不同的功能:用于
客户端
驱动程序
浏览器
服务器
档案器
。 不知道你的确切意思是什么

获取javascript程序执行的日志

但我认为您可能希望浏览器日志包含有关浏览器中发生的情况的信息(例如,CSS无法执行,因为Firefox浏览器无法解释它,等等)。 你可以这样做:

var driver = new ChromeDriver();
var logs = driver.Manage().Logs;
var browserLogs = logs.GetLog(LogType.Browser);

您可能希望将最后一行封装在
try-catch
语句中,因为并非所有日志类型都适用于所有驱动程序。这假设您在多个浏览器上执行测试,并且希望获得多种类型的日志。

好吧,这取决于您想要什么功能,但基本上它们的类别是
devtools.timeline
默认禁用devtools.timeline
闪烁。用户计时

顺便说一句,我想你想知道Chrome开发工具默认时间线的类别,所以这里是:

\u元数据,基准,开发工具。时间线,轨道,顶层,默认禁用-v8。cpu\u探查器,默认禁用开发工具。时间线,默认禁用开发工具。时间线。帧,闪烁。用户计时,v8。执行,默认禁用开发工具。屏幕截图

这正是ChromeDevTools的PerformanceTab中使用的类别列表


希望这有帮助。

我需要chrome开发工具中的已执行函数列表,如时间线。我在驱动程序日志中看到它如何忽略客户端、服务器和探查器日志,因为它们无法识别。正如我所说,这取决于使用的驱动程序。如果我没有弄错的话,对于Firefox来说,它们都是适用的。对于其他驱动因素,这取决于它们是否得到实施。