簡體   English   中英

如何在Selenium WebDriver中獲取執行功能的日志?

[英]How I can get executed functions log in Selenium WebDriver?

我正在使用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提供了不同的日志類型 :用於ClientDriverBrowserServerProfiler 不確定您的意思是什么

獲取javascript程序執行的日志

但我認為您可能希望瀏覽器日志包含有關瀏覽器中發生的情況的信息(例如,由於Firefox瀏覽器無法解釋CSS而無法執行CSS等)。 您可以這樣做:

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

您可能希望在try-catch語句中包含最后一行,因為並非所有日志類型都可用於所有驅動程序。 假設您正在多個瀏覽器上執行測試,並且想要獲取多種類型的日志。

好吧,取決於您想要什么功能,但是基本上它們的類別是devtools.timelinedisabled-by-default-devtools.timeline blink.user_timingblink.user_timing

順便說一句,我想您想知道Chrome DevTools默認時間軸的類別,所以這里是:

__metadata,benchmark,devtools.timeline,rail,toplevel,disabled-by-default-v8.cpu_profiler,disabled-by-default-devtools.timeline,disabled-by-default-devtools.timeline.frame,blink.user_timing,v8.execute,disabled-by-default-devtools.screenshot

現在,這正是Chrome DevTools的“性能”標簽中使用的類別列表。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM