当前位置: 首页 > 面试题库 >

Selenium Web驱动程序:提取的Chrome浏览器日志不完整

戚飞
2023-03-14
问题内容

我正在Selenium的帮助下为Vaadin应用程序编写浏览器测试。开发实用程序中的Chrome浏览器日志控制台显示不同日志级别(TRACE,SEVERE,WARNING)的日志。以下代码设置了我的测试驱动程序:

@RunOnHub
public abstract class SmokeTestCase extends ParallelTest {
    ...
        final ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setHeadless(false);
        final LoggingPreferences logPrefs = new LoggingPreferences();
        logPrefs.enable(LogType.BROWSER, Level.ALL);
        chromeOptions.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
        setDriver(new ChromeDriver(chromeOptions));
    ...

我的Vaadin应用程序在DEV模式下运行。使用以下代码,我试图通过测试驱动程序检索所有浏览器日志:

final LogEntries entries = this.driver.manage().logs().get(LogType.BROWSER);
for (LogEntry entry: entries) {
  System.out.println(entry);
  final String line = String.format("[%s] - %s - %s", entry.getLevel().getName(), entry.getTimestamp(), entry.getMessage());
  if (entry.getLevel() == Level.SEVERE) {
    System.err.println(line);
  } else {
    System.out.println(line);
  }
}

不幸的是,我只收到警告和严重警告。缺少INFO和TRACE。我究竟做错了什么?

我的方法与此类似:[如何使用Selenium获取Chrome浏览器控制台日志INFO]条目

我们还尝试启用和请求日志类型DRIVERCLIENT-,但它们为空。

Chrome驱动程序日志文件:

[1563798293,491][INFO]: [9a5a5e7219d7e4e784ad1ccf205a31df] COMMAND GetLog {
   "type": "browser"
}
[1563798293,491][DEBUG]: DevTools WebSocket Command: Runtime.evaluate (id=2292) 143AE946F7F1974C2722E6519DB6CBA5 {
   "expression": "1",
   "returnByValue": true
}
[1563798293,491][DEBUG]: DevTools WebSocket Response: Runtime.evaluate (id=2292) 143AE946F7F1974C2722E6519DB6CBA5 {
   "result": {
      "description": "1",
      "type": "number",
      "value": 1
   }
}
[1563798293,491][INFO]: [9a5a5e7219d7e4e784ad1ccf205a31df] RESPONSE GetLog [ {
   "level": "SEVERE",
   "message": "http://.../APP/connector/0/443/icon/save-document_24.png - Failed to load resource: the server responded with a status of 410 ()",
   "source": "network",
   "timestamp": 1563798292695.0
}, {
   "level": "SEVERE",
   "message": "http://.../APP/connector/0/444/icon/container_3_24.png - Failed to load resource: the server responded with a status of 410 ()",
   "source": "network",
   "timestamp": 1563798292695.0
}, {
   "level": "WARNING",
   "message": "http://.../VAADIN/vaadinPush.js?v=8.7.2 0:40212 \"Websocket closed, reason: Normal closure; the connection successfully completed whatever purpose for which it was created. - w...",
   "source": "console-api",
   "timestamp": 1563798292711.0
}, {
   "level": "SEVERE",
   "message": "http://.../APP/connector/0/448/icon/save-document_24.png - Failed to load resource: the server responded with a status of 410 ()",
   "source": "network",
   "timestamp": 1563798292711.0
}, {
   "level": "WARNING",
   "message": "http://.../VAADIN/vaadinPush.js?v=8.7.2 0 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more...",
   "source": "deprecation",
   "timestamp": 1563798292776.0
} ]

问题答案:

由于CapabilityType.LOGGING_PREFS不推荐使用chromedriver 75.0.3770.8
。使用goog:loggingPrefs代替。



 类似资料:
  • 上面说 ChromeDriver是一个实现W3C WebDriver标准的独立服务器 看起来W3C WebDriver标准只定义了自动化程序和Chromedriver之间的接口。Chromedriver充当HTTP服务器,从自动化程序获取命令。 但是ChromeDriver如何与Chrome通信呢? 还是通过HTTP协议? 如果是,我们在哪里可以得到关于细节的留档?Chrome内部的哪个组件负责处

  • 我想在VS 2010 C#中使用Selenium Web驱动程序打开Chrome浏览器,导航到某个网页,然后关闭驱动程序,但保持浏览器打开。我意识到,我将不得不手动关闭浏览器后,我同意这一点。 到目前为止我有: 我已经尝试了以下所有作为最后一行 有什么想法吗?

  • 我正在使用ChromeDriver V2.24,我的系统中有Chrome Browser52(未安装,可执行文件)。 NosuchSessionException:没有这样的会话 控制台: 注意:在Windows安全更新之前,当我使用ChromeDriver3.1和Chrome58时,我的脚本运行良好。更新后,我无法启动Chrome浏览器,因为它不是启动浏览器,而是在后台运行。

  • 问题内容: 今天,自动安装了最新版本的chrome浏览器,该版本现在为54.0.2840.71 m(64位)。我无法使用最新版本的Chrome驱动程序2.24和任何版本的Selenium来驱动浏览器。帮我解决这个问题..? 问题答案: 嗨,我已经解决了这个问题。Chrome 54或更低版本与Chrome驱动程序2.24兼容,而54或更高版本的Chrome需要Chrome驱动程序2.27。

  • 我将Selenium与Python Chrome webdriver一起使用。在我的代码中,我使用了: 将webdriver指向webdriver可执行文件。有没有办法将webdriver指向Chrome浏览器二进制文件? https://sites.google.com/a/chromium.org/chromedriver/capabilities他们有以下产品(我想这就是我要找的): 有人举

  • 最近我换了电脑,从那以后我不能用硒启动chrome。我也尝试过Firefox,但浏览器实例就是无法启动。 我得到以下错误: 我安装了最新的chrome版本和chrome驱动程序 编辑:尝试@b0sss解决方案后,我收到以下错误。