获取Timed out接收来自渲染器的消息:600.000当我们使用Jenkins Windows服务模式执行selenium脚本时

问题描述 投票:2回答:2

我们每天使用jenkins窗口服务(Headless模式)执行我们的selenium自动化脚本。直到昨天工作正常。突然它停止工作,没有启动浏览器。它显示以下错误消息[15536​​77874.187] [严重]:超时从渲染器接收消息:600.000。之后所有剩下的测试用例都失败了。

如果我们使用jenkins运行构建而没有Windows服务,它工作正常。我们只在使用Windows作为服务时遇到此问题

  • 我的Chrome驱动程序版本:73.0.3683.68
  • Chrome浏览器版本:73.0.3683.68
  • Selenium版本:3.14.0

我试图降级浏览器版本和驱动程序版本。即使它不起作用

我希望当我们使用jenkins作为Windows服务执行但是收到错误消息时,浏览器应该在后台启动。

System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("load-extension=C:\\1.13.4_0");
options.addArguments("--start-maximized");
options.addArguments("--ignore-certificate-errors");
options.addArguments("--disable-popup-blocking");
// options.addArguments("window-size=1400,600");
options.addArguments("enable-automation");
options.addArguments("--headless");
options.addArguments("--window-size=1920,1080");
options.addArguments("--no-sandbox");
// options.addArguments("--disable-extensions");
options.addArguments("--dns-prefetch-disable");
options.addArguments("--disable-gpu");
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
DesiredCapabilities capabilities = 
DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, 
**strong text**options);
return new ChromeDriver(capabilities);
selenium jenkins service window selenium-chromedriver
2个回答
4
投票

似乎您正在使用以下配置:

  • chromedriver = 73.0.3683.68
  • 铬= 73.0.3683.68
  • Windows操作系统

John Chen(所有者 - chromedriver)最近证实,

当Windows 73上的服务(例如Jenkins或任务计划程序)启动Chrome 73.0.3686.75时,我们已确认屏幕截图存在问题。有关详细信息,请参阅https://crbug.com/942023。对由此造成的任何不便,我们深表歉意。但是,我们还没有在Linux上观察到类似的问题,所以我们感谢您提供的任何帮助,使我们能够在Linux上重现该问题。我们无权访问TeamCity,但我们已经使用Selenium生产的Docker图像(selenium / standalone-chrome:3.141.59-lithium)测试了截屏,并没有发现任何问题。

chromedriver73


昨天(2019年3月26日),约翰再次证实:

我知道从Jenkins运行Chrome 73的一些问题。我不知道任何变通方法。请关注https://crbug.com/942023以获取更新。

chromedriver73_and


更新

我们能够挖掘出主要问题。主要问题不在于ChromeDriver v73.x,而是Chrome v73.x和John正式确认为:

根本原因确实在Chrome 73.x中,而不是在ChromeDriver中。我们正在与Chrome开发人员合作寻找解决方案。

chrome73_issue


快速解决方案将是:

注意:如果您使用的是Chrome版本72,请下载ChromeDriver 2.46或ChromeDriver 72.0.3626.69

  • 确保将JDK升级到最近的JDK 8u202级别。

其他

您可以在以下位置找到相关的讨论:


更新(03-月-2019)

通过--disable-features=VizDisplayCompositor实例添加参数ChromeOptions()似乎解决了这个问题:

ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-features=VizDisplayCompositor");
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");

0
投票

可能的问题是您的Google Chrome已更新并与您的Chromedriver不兼容。我建议您购买新的Chromedriver或将您的Google Chrome降级到以前的版本并禁用自动更新。

您可以在此处验证Chrome浏览器所需的Chromedriver版本:http://chromedriver.chromium.org/downloads

以下链接的第4步为我禁用自动谷歌Chrome更新。 https://www.webnots.com/7-ways-to-disable-automatic-chrome-update-in-windows-and-mac/

© www.soinside.com 2019 - 2024. All rights reserved.