Timed out receiving message from renderer - java

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.

Related

Selenium: Could not start a new session. Response code 500. Message: session not created: This version of ChomeDriver only supports Chrome version 102

When I run the program some error message is shown and the program can not be executed and the message:
org.openqa.selenium.sessionNotCreatedExeception:could not start a new session. Response code 500. Message: session not created: This version of ChomeDriver only supports Chrome version 102.
Chromedriver is not hitting the URL.
Your chrome version does not match the version of your chrome webdriver. You have to download the right version of the webdriver. If you are not sure which version of Chrome are you running, you can find it in "about" section.
This error message...
org.openqa.selenium.sessionNotCreatedExeception:could not start a new session. Response code 500. Message: session not created: This version of ChomeDriver only supports Chrome version 102
...implies that the ChromeDriver was unable to initiate/spawn a new Browsing Context i.e. google-chrome session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
You are using chromedriver=102.0
Release Notes of chromedriver=102.0 clearly mentions the following :
Supports Chrome version 102
Presumably you are using the latest chrome=104.0
So there is a clear mismatch between chromedriver=102.0 and the chrome=104.0
Solution
Ensure that:
ChromeDriver is updated to ChromeDriver v104.0 level.
Also ensure,
Chrome Browser is updated to current chrome=104.0 (as per chromedriver=104.0 release notes).
Selenium is upgraded to current released Version 4.4.0.

Selenium Chrome webdriver SessionNotCreatedException

Using selenium & Chrome webdriver, I'm getting below exception on trying to launch. I have gone through lot of posts and tried all possible ways.
I'm using compatible chrome browser and chrome drivers versions -
Version 80.
Java - 1.8
Windows 10 os
The same test when i run on my personal computer, its working. But it's giving below error on my organization s machine. Also, no issues if I use edge drivers.
org.openqa.selenium.SessionNotCreatedException: session not created
disconnected: unable to send message to renderer
Any thoughts to solve this?
Check for chromedriver version in organization's machine. Please update your chromedriver with lastest version in organization machine. Issue will get resolve
The ChromeDriver Version you are using in your code might be different than the Chrome Browser installed in your system.
Check and download the same version of driver as of your browser version.
You need to use the matching ChromeDriver (matching MAX number) with respect to the installed google-chrome version installed in your system.
As an example if you are using the current chrome=88.0.4324.104 effectively you can use either of the following versions of ChromeDriver:
ChromeDriver 88.0.4324.27
ChromeDriver 88.0.4324.96
References
You can find a couple of relevant detailed discussions in:
SessionNotCreatedException: Message: session not created from disconnected: unable to connect to renderer with ChromeDriver 2.45 Chrome v71
WebDriverException: disconnected: unable to connect to renderer even on providing correct path of latest chromedriver
Automation Testing Error : org.openqa.selenium.WebDriverException: disconnected: unable to connect to renderer

Chrome version must be between 71 and 75 error after updating to ChromeDriver 2.46

After update of chromedriver to version 2.46 my tasts fail to initialize.
I got message like this:
Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75
(Driver info: chromedriver=2.46.628402,platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.58 seconds
Build info: version: '2.53.1'
It is clearly saying that my browser version is not valid. But I am using Chrome 72.0.3626.119 so it is between 71 and 75.
Selenium version is 2.53.1.
And I am running test through console command with the help of testNG.
Any idea? Every ideas that I found was about changing selenium version but I cant do it.
For me to resolve this problem :
On Windows
cd C:\Users\[myname]\AppData\Roaming\npm\node_modules\protractor
npm i webdriver-manager#latest
webdriver-manager update
webdriver-manager start &
On Cent-OS (I used Cent-OS 7.4.* and it worked fine.)
cd /usr/lib/node_modules/protractor/
sudo npm i webdriver-manager#latest
sudo webdriver-manager update
sudo webdriver-manager start &
I hope this helps you in any way.
This error message...
Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75
...implies that the ChromeDriver v2.46 is not compatible with the Chrome Browser version which is being accessed by your program/webdriver.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
You are using chromedriver=2.46
Release Notes of chromedriver=2.46 clearly mentions the following :
Supports Chrome v71-73
Though you mentioned you are using Chrome 72.0.3626.119 possibly there are multiple instances of Chrome Browser installed within your system and your program by default is accessing the Chrome Browser whose version is not between v71.x and v75.x
You are using chrome=67.0
Release Notes of ChromeDriver v2.38 clearly mentions the following :
Supports Chrome v65-67
Solution
Keep JDK upgraded to recent levels JDK 8u201.
Uninstall all the instances of Chrome Browser (you can opt to use Revo Uninstaller).
Upgrade ChromeDriver to current ChromeDriver v2.46 level.
Keep Chrome version between Chrome v71-73 levels. (as per ChromeDriver v2.46 release notes)
For me, I had to update my chrome driver in my project to match the version of Chrome on my local machine.
yarn add chromedriver#76.0.0 -D
https://www.npmjs.com/package/chromedriver
In my case I was getting the same error after my chrome was updated to version 76. Which was happening when chimp tries to use chromedriver to execute the selenium test.
DevTools listening on ws://127.0.0.1:49220/devtools/browser/e88586cb-ed67-44fc-a742-43b767e2b8f9
[chimp][helper] setupBrowserAndDDP had error
{ Error: session not created: Chrome version must be between 71 and 75
at Object.wait (C:\ACPMS\ELS_AT\node_modules\fibers\future.js:449:15)
at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\wdio-sync\build\index.js:344:27)
at Object.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\session-manager.js:145:21)
at initBrowser (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:189:43)
at Object.setupBrowserAndDDP (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\chimp-helper.js:264:7)
at Context.<anonymous> (C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\mocha\mocha-helper.js:13:15)
at C:\ACPMS\ELS_AT\node_modules\chimp\dist\lib\utils\fiberize.js:29:22
(Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)
at new RuntimeError (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\ErrorHandler.js:143:12)
at Request._callback (C:\ACPMS\ELS_AT\node_modules\webdriverio\build\lib\utils\RequestHandler.js:318:39)
at Request.self.callback (C:\ACPMS\ELS_AT\node_modules\request\request.js:185:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (C:\ACPMS\ELS_AT\node_modules\request\request.js:1161:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous>
For me it didn't work when I updated the chrome driver by npm (both globally and locally) and then I followed these steps to resolve the issue, which might give some idea on where to check in this kind a issue:
Because exception was thrown in node_modules\chimp\dist\lib\utils\fiberize.js i navigated to that file and found one level above this file node_modules\chimp\dist\lib\chromedriver.js which has the code to start chromedriver.
I added a console.log to chromedriverPath which can be seen below and re-executed the tests to get the chromedriver path in console logs.
Chromedriver.prototype.start = function(callback) {
var self = this;
var port = self.options.port;
if (this.child) {
callback();
return;
}
var chromedriverPath = chromedriver.path;
//this was added my me the see that chrome drive path
console.log("[chimp] " + chromedriverPath);
if (fs.existsSync(chromedriverPath)) {
this.child = processHelper.start(
{
bin: chromedriverPath,
prefix: "chromedriver",
args: ["--port=" + port, "--url-base=wd/hub"],
waitForMessage: /Starting ChromeDriver/,
errorMessage: /Error/
},
callback
);
} else {
callback("[chimp][chromedriver] Chromedriver executable not found.");
}
};
When i got the path of the chromedriver which is used to execute the tests, i just navigated to that folder and replaced chromedriver executable with the most recent version.
I hope this helps.
Try this: Download the compatible ChromeDriver.exe file for the updated version of Chrome browser and replace it. It works for me.

org.openqa.selenium.SessionNotCreatedException: session not created disconnected:unable to send message to renderer error with ChromeDriver and Chrome

I try to run this simple program on Java with Selenium:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MySelenium {
public static void main(String[] args) {
System.out.println("First Selenium");
System.setProperty("webdriver.chrome.driver", "C:\\automation\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.seleniumhq.org/");
driver.quit();
}
}
But on running shows the following error:
How can i fixed this error ?
This error message...
org.openqa.selenium.SessionNotCreatedException: session not created
disconnected: unable to send message to renderer
...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.
I suspect your main issue is the incompatibility between the version of the binaries you are using.
As per the snapshot you have provided the following set of binaries you are using looks fine to me:
JDK: 1.8.0_191
Selenium: 3.14.0
ChromeDriver: 2.43
Chrome: 69.0
Analysis & Solution
As per Unable to receive message from renderer error using chrome driver 2.27 another pottential reason can be presence of antivirus within your localhost which you need to disable.
Ensure that /etc/hosts on your system contains the following entry:
127.0.0.1 localhost.localdomain localhost
#or
127.0.0.1 localhost loopback
Keep Chrome version between Chrome v68-70 levels. (as per ChromeDriver v2.43 release notes)
Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
(WindowsOS only) Use CCleaner tool to wipe off all the OS chores before and after the execution of your Test Suite.
(LinuxOS only) Free Up and Release the Unused/Cached Memory in Ubuntu/Linux Mint before and after the execution of your Test Suite.
If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
Take a System Reboot.
Execute your #Test.
Reference
You can find a related discussion in Automation Testing Error : org.openqa.selenium.WebDriverException: disconnected: unable to connect to renderer
tl;dr
As per ChromeDriver 2.34 doesn't wait until iframe content loads after switching into iframe this issue was also observed with ChromeDriver 2.38 and Chrome 67+ combo and was related to static iframes (part of the originally loaded DOM) which seem to work correctly even till Chrome 66.
Try using JDK 1.8.0_181. I had the same issue after updating to JDK 1.8.0_191.

java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter. when using Selenium-Java 3.5.1 or above

I am wondering if anyone can give me an idea why I'm getting the following error when I use Selenium-Java 3.5.1 or above -
java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
This error message...
java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
...implies that there was a mismatch between the version of the WebDriver variant (i.e. GeckoDriver / ChromeDriver) and the version of the respective WebBrowser variant (i.e. Firefox / Chrome) you are using.
Note: You need to ensure that you are using the latest JDK versions.
GeckoDriver-Selenium-Firefox
If you are using GeckoDriver-Selenium-Firefox combo, you need to follow the following compatibility chart:
ChromeDriver-Chrome
If you are using ChromeDriver-Chrome combo, you need to ensure that the binaries are compatible as per the entries below:
ChromeDriver v101: Supports Chrome v101
ChromeDriver v100: Supports Chrome v100
ChromeDriver v99: Supports Chrome v99
ChromeDriver v98: Supports Chrome v98
ChromeDriver v97: Supports Chrome v97
ChromeDriver v96: Supports Chrome v96
ChromeDriver v95: Supports Chrome v95
ChromeDriver v94: Supports Chrome v94
ChromeDriver v93: Supports Chrome v93
ChromeDriver v92: Supports Chrome v92
ChromeDriver v91: Supports Chrome v91
ChromeDriver v90: Supports Chrome v90
ChromeDriver v89: Supports Chrome v89
ChromeDriver v88: Supports Chrome v88
ChromeDriver v87: Supports Chrome v87
ChromeDriver v86: Supports Chrome v86
ChromeDriver v85: Supports Chrome v85
ChromeDriver v84: Supports Chrome v84
ChromeDriver v83: Supports Chrome v83
ChromeDriver v82: Was intentionally skipped
ChromeDriver v81: Supports Chrome v81
ChromeDriver v80: Supports Chrome v80
ChromeDriver v79: Supports Chrome v79
ChromeDriver v78: Supports Chrome v78
ChromeDriver v77: Supports Chrome v77
ChromeDriver v76: Supports Chrome v76
ChromeDriver v75: Supports Chrome v75
ChromeDriver v74: Supports Chrome v74
ChromeDriver v73: Supports Chrome v73
ChromeDriver v2.46: Supports Chrome v71-73
ChromeDriver v2.45: Supports Chrome v70-72
ChromeDriver v2.44: Supports Chrome v69-71 (same as ChromeDriver 2.43, but with additional bug fixes)
ChromeDriver v2.43: Supports Chrome v69-71
ChromeDriver v2.42: Supports Chrome v68-70
ChromeDriver v2.41: Supports Chrome v67-69
ChromeDriver v2.40: Supports Chrome v66-68
ChromeDriver v2.39: Supports Chrome v66-68
ChromeDriver v2.38: Supports Chrome v65-67
ChromeDriver v2.37: Supports Chrome v64-66
ChromeDriver v2.36: Supports Chrome v63-65
ChromeDriver v2.35: Supports Chrome v62-64
ChromeDriver v2.34: Supports Chrome v61-63
ChromeDriver v2.33: Supports Chrome v60-62
ChromeDriver v2.32: Supports Chrome v59-61
ChromeDriver v2.31: Supports Chrome v58-60
ChromeDriver v2.30: Supports Chrome v58-60
ChromeDriver v2.29: Supports Chrome v56-58
ChromeDriver v2.28: Supports Chrome v55-57
ChromeDriver v2.27: Supports Chrome v54-56
Note: A few months ago, Chromium Team made a preliminary announcement that ChromeDriver's versioning model will be changing. Now Chromium Team is moving forward with the plan. Specifically, ChromeDriver 2.46 will be the last release carrying the major version of 2. Future ChromeDriver releases will carry a version number similar to Chrome release. We will start with a release of ChromeDriver 73 next week, before the Beta release of Chrome 73.
Here is how the new release model will work:
ChromeDriver will be using the same version number scheme as Chrome. See https://www.chromium.org/developers/version-numbers for more details.
Each version of ChromeDriver will support Chrome with matching major, minor, and build version numbers. For example, upcoming ChromeDriver 73.0.3683.* will support all Chrome versions that start with 73.0.3683.
Before a new major version of Chrome goes to Beta, a matching version of ChromeDriver will be released. For example, a new version of ChromeDriver will be release next week to match the Beta release of Chrome m73.
After the initial release of a new major version, we will release patches as needed. These patches may or may not coincide with updates to Chrome.
Further, this error com.google.common.util.concurrent.SimpleTimeLimiter was also observed when a Selenum Grid Node appears to have successfully registered to the Selenum Grid Hub and was also confirmed from the grid console but when requesting for a session the following error was observed :
org.openqa.selenium.WebDriverException: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;
This error occured with Selenium-Grid-Extras Hub (1.12.16) due to inconsistency between selenium and guava dependencies that are packaged into the JAR
This issue was addressed through the merge #367 and using Selenium v3.8.1 will solve your problem.
Ensure two points as :
Selenium Grid Extras version is greater than (or equal to) 1.12.17
guava dependencies are updated.
In my earlier pom.xml, this was the entry:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
Below error was being thrown,
Error: java.lang.IllegalAccessError: tried to access method
com.google.common.util.concurrent.SimpleTimeLimiter.(Ljava/util/concurrent/ExecutorService;)V
from class org.openqa.selenium.net.UrlChecker
Then I updated the POM with the latest version:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
I did not see the error once again. Hope this helps.
Check in you POM.XML file you will have 2 entry for "selenium-chrome-driver" dependency.
so, both dependency there and it is confuse which one need to take and giving you Exception. My one is working after this change.

Categories