Selenium C# 日志记录首选项未完全实现?



我正在使用Selenium.WebDriver.Chrome 2.40.0

根据文档,允许以下内容

var co = new ChromeOptions();
co.SetLoggingPreference(LogType.Browser, LogLevel.All);
co.SetLoggingPreference(LogType.Client, LogLevel.All);
co.SetLoggingPreference(LogType.Driver, LogLevel.All);
co.SetLoggingPreference(LogType.Profiler, LogLevel.All);
co.SetLoggingPreference(LogType.Server, LogLevel.All);

但是,当我实际尝试访问Client时,我得到的ServerProfiler日志(在stderr上(

Starting ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) on port 56426
Only local connections are allowed.
[1529414019.263][WARNING]: Ignoring unrecognized log type: client
[1529414019.266][WARNING]: Ignoring unrecognized log type: profiler
[1529414019.266][WARNING]: Ignoring unrecognized log type: server

访问这三个日志对象会很有帮助。我如何访问它们(如果有的话(?

额外细节

根据有关 LogType 的文档,有 5 个可能的值:BrowserClientDriverProfilerServer。塔伦·拉尔瓦尼(Tarun Lalwani(建议(见评论(也有一个Performance但我看不到任何迹象。

我不明白为什么文档说有五个,但在操作上只有BrowserDriver.

如果你看一下ChromeDriver源代码

https://chromium.googlesource.com/experimental/chromium/src/+/5c38bafbf04d6196493d4bec1a851b45a1c07d12/chrome/test/chromedriver/logging.cc#124

}  // namespace
const char WebDriverLog::kBrowserType[] = "browser";
const char WebDriverLog::kDriverType[] = "driver";
const char WebDriverLog::kPerformanceType[] = "performance";
bool WebDriverLog::NameToLevel(const std::string& name, Log::Level* out_level) {
for (size_t i = 0; i < arraysize(kNameToLevel); ++i) {
if (name == kNameToLevel[i].name) {
*out_level = kNameToLevel[i].level;
return true;
}
}
return false;
}

它只支持browserdriverperformance。对于其他的,您会收到警告,这是正确的

所以规范的答案是(鼓声(...

列出的只是可能的日志类型。例如,服务器 仅当您使用实现此功能的服务器时,才可用 日志(如硒服务器(。您可以查看哪些日志类型是 通过使用 GetAvailableLogTypes 方法从终结点中可用

最新更新