I am trying to get status of transactions from some web portal and I am using below chrome settings in my java application and I am getting
Timed out receiving message from renderer: 60.000
and all the pending transactions are timing out.
Session info: headless chrome=68.0.3440.75
Driver info: chromedriver=2.38 (0)
platform=Linux 2.6.32-696.23.1.el6.x86_64 x86_64)
How i can handle this and if any timeout is happening then move to next transaction?
I have tried all permutation and combinations with below statements but still its not working;
options.addArguments("headless");
options.addArguments("disable-gpu");
WebDriver driver = new ChromeDriver(caps);
TimeUnit.SECONDS.sleep(1);
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
This error message...
Timed out receiving message from renderer: 60.000
...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- You are using chromedriver=2.38
- Release Notes of chromedriver=2.38 clearly mentions the following :
Supports Chrome v65-67
- You are using chrome=68.0
- Release Notes of ChromeDriver v2.41 clearly mentions the following :
Supports Chrome v67-69
- Your Selenium Client version is unknown to us.
- Your JDK version is version is unknown to us.
So there is a clear mismatch between the ChromeDriver v2.38 and the Chrome Browser v68.0
Solution
- Upgrade JDK to recent levels JDK 8u181.
- Upgrade Selenium to current levels Version 3.14.0.
- Upgrade ChromeDriver to current ChromeDriver v2.41 level.
- Keep Chrome version between Chrome v67-69 levels. (as per ChromeDriver v2.41 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- Execute your
@Test
.