问题描述
我在运行我的场景时遇到以下错误.
<块引用>org.openqa.selenium.TimeoutException: timeout: 接收超时来自渲染器的消息:10.000
(会话信息:chrome=79.0.3945.79)构建信息:版本:'3.14.0',修订:'aacccce0',时间:'2018-08-02T20:19:58.91Z' 系统信息:主机:'fv-az598',ip:'10.1.0.4',os.name:'Linux',os.arch:'amd64',os.version:4.15.0-1064-azure",java.version:1.8.0_212"驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver 功能{acceptInsecureCerts: false, browserName: chrome, browserVersion:79.0.3945.79,铬:{chromedriverVersion:79.0.3945.36
如您所见,使用粗体突出显示的字体,我确实有 chrome 和 chrome 驱动程序的匹配版本.
我还向我的 ChromeOptions 传递了一些参数,这意味着超时的帮助:
//防止超时的选项options.addArguments("开始最大化");//https://stackoverflow.com/a/26283818/1689770options.addArguments("启用自动化");//https://stackoverflow.com/a/43840128/1689770options.addArguments("--no-sandbox");//https://stackoverflow.com/a/50725918/1689770options.addArguments("--disable-infobars");//https://stackoverflow.com/a/43840128/1689770options.addArguments("--disable-dev-shm-usage");//https://stackoverflow.com/a/50725918/1689770options.addArguments("--disable-browser-side-navigation");//https://stackoverflow.com/a/49123152/1689770options.addArguments("--disable-gpu");//https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-excoptions.addArguments("--disable-features=VizDisplayCompositor");//https://stackoverflow.com/questions/55373625/getting-timed-out-receiving-message-from-renderer-600-000-when-we-execute-selen
在 DOCKER 容器中运行时会发生这种情况(使用 chrome 浏览器的最新 docker 图像和 node-chrome-debug)
任何想法将不胜感激.
这个错误信息...
org.openqa.selenium.TimeoutException:超时:从渲染器接收消息超时:10.000
...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 会话.
您的主要问题是您使用的二进制文件版本之间的不兼容性,如下所示:
- 您的 Selenium Client 版本是 2018-08-02T20:19:58.91Z 的 3.14.0,几乎是 1.5 岁,并发 ChromeDriver 兼容 OSS.
- 您正在使用 chromedriver=79.0
- 您正在使用 chrome=79.0
- 虽然 chromedriver=79.0 和 chrome=79.0 是并发的,但是它们与 Selenium Client 版本不兼容 3.14.0.
因此 Selenium Client v3.14.0 、ChromeDriver v79.0 和 Chrome 浏览器 v79.0 之间存在明显的不匹配p><小时>
解决方案
确保:
- JDK 升级到当前级别 JDK 8u222.
- Selenium 已升级到当前级别版本 3.141.59.
- 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖.
tl;博士
您可以在以下位置找到一些相关讨论:
- 从渲染器接收消息超时
- 错误 [严重]:接收来自渲染器的消息超时:20.000 在 Jenkins 上通过 Selenium 执行测试套件时
I am getting following error when running my scenarios.
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
(Session info: chrome=79.0.3945.79) Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z' System info: host: 'fv-az598', ip: '10.1.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1064-azure', java.version: '1.8.0_212' Driver info: org.openqa.selenium.remote.RemoteWebDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.79, chrome: {chromedriverVersion: 79.0.3945.36
As you can see, with bold, highlighted font, I do have matching versions of the chrome and chrome driver.
I am also passing some arguments to my ChromeOptions that meant help with timeouts:
// options to prevent TIMEOUTS
options.addArguments("start-maximized"); //https://stackoverflow.com/a/26283818/1689770
options.addArguments("enable-automation"); //https://stackoverflow.com/a/43840128/1689770
options.addArguments("--no-sandbox"); //https://stackoverflow.com/a/50725918/1689770
options.addArguments("--disable-infobars"); //https://stackoverflow.com/a/43840128/1689770
options.addArguments("--disable-dev-shm-usage"); //https://stackoverflow.com/a/50725918/1689770
options.addArguments("--disable-browser-side-navigation"); //https://stackoverflow.com/a/49123152/1689770
options.addArguments("--disable-gpu"); //https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-exc
options.addArguments("--disable-features=VizDisplayCompositor"); //https://stackoverflow.com/questions/55373625/getting-timed-out-receiving-message-from-renderer-600-000-when-we-execute-selen
Edit: it happens when running in DOCKER container (using LATEST docker images for chrome browser, and node-chrome-debug)
Any ideas will be greatly appreciated.
This error message...
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
...implies that the ChromeDriver was unable to initiate/spawn a new Browsing Context i.e. Chrome Browser session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- Your Selenium Client version is 3.14.0 of 2018-08-02T20:19:58.91Z which is almost 1.5 years older andthe concurrent ChromeDriver was OSS compliant.
- You are using chromedriver=79.0
- You are using chrome=79.0
- Though chromedriver=79.0 and chrome=79.0 are concurrent but they are incompatible with Selenium Client version is 3.14.0.
So there is a clear mismatch between Selenium Client v3.14.0 , ChromeDriver v79.0 and the Chrome Browser v79.0
Solution
Ensure that:
- JDK is upgraded to current levels JDK 8u222.
- Selenium is upgraded to current levels Version 3.141.59.
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
tl; dr
You can find a couple of relevant discussions in:
- Timed out receiving message from renderer
- Error [SEVERE]: Timed out receiving message from renderer: 20.000 while executing the testsuite through Selenium on Jenkins
这篇关于从渲染器接收消息超时:10.000的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!