Getting webdriver exception with selenium chrome - selenium

I am trying to launch the chrome browser and open my site login page,
so once the login pop up appears then this error comes and sometimes this error is not coming at the time login pop up,its coming middle of tests run that is after login has been done and tests starts running
I am using Testng,also in some of code lines I have used Thread.sleep
ChromeVersion : 75
ChromeDriver : 2.46 (Latest version of chrome driver giving some malicious protect error,so using this one)
Error : org.openqa.selenium.WebDriverException: java.net.SocketException: Connection reset

Change your chrome driver version (ChromeDriver 2.46 NOT Supports ChromeVersion 75).
See full documentation:
http://chromedriver.chromium.org/downloads
ChromeDriver 2.46 Supports Chrome v71-73
ChromeDriver 75.0.3770.8 Supports Chrome version 75
ChromeDriver 75.0.3770.90 Supports Chromeversion 75
ChromeDriver 75.0.3770.140 Supports Chrome version 75

Related

Electron: set chromedriver package version depending on user's chrome version

I have an electron app that uses the chromedriver package. I am also using selenium and the chromedriver needs to support the user's current chrome version because selenium needs to connect to a new browser session opened using the user's google chrome. The thing about chromedriver is that it is not going to support a Chrome session unless unless both the driver and the user's google chrome have the same version. Indeed, when I try to run chromedriver who's version is the not same as the user's Chrome version, I get the following error:
WebDriverError: unknown error: cannot connect to chrome at localhost:9222
from session not created: This version of ChromeDriver only supports Chrome version 101
Current browser version is 103.0.5060.114
I use the following command to start the google chrome session on Linux/Mac:
google-chrome --remote-debugging-port=9222 --user-data-dir="/user/data/dir"
How can I solve this issue? I have thought about if maybe I can set the version of the chromedriver programmatically when the electron app is launched. Would that work? Otherwise, is there a way to change the session's browser version?

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97 using Selenium and ChromeDriver

Installed selenium chromedriver and it shows this:
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
you are using a wrong version of chrome driver go to chrome://version in your chrome browser and take the chromedriver version that is equal to your chrome browser version.
This error message...
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
...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:
You are using chromedriver=97.0
Release Notes of chromedriver=97.0 clearly mentions the following :
Supports Chrome version 97
Possibly you are using the latest chrome=96.0.4664.93
Release Notes of ChromeDriver v96.0 clearly mentions the following :
Supports Chrome version 96
So there is a clear mismatch between chromedriver=91.0 and the chrome=96.0.4664.45
Solution
Ensure that:
ChromeDriver is updated to current ChromeDriver v96.0 level.
Chrome is updated to current chrome=96.0.4664.45 (as per chrome=96.0.4664.45 release notes).

InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 76 with ChromeDriver Selenium in AzureDevOPS

I have Ux Automation test project where in I am using the NuGet for Selenium.Chrome.WebDriver. The Agent in the release pipeline has below versions of chrome & WebDriver
Google Chrome
version:
75.0.3770.100
Selenium Web Drivers
Chrome Driver
version:
75.0.3770.90
Environment:
ChromeWebDriver: location of chromedriver.exe
I have tried check-in the project with 75 & 76 NuGet reference. However, I am getting below error in both cases.
System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 76 (SessionNotCreated)
Which version it is complaining for?
This error message...
System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 76 (SessionNotCreated)
...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:
Though you mentioned about using chromedriver=75.0.3770.90 there may be multiple instances of chromedriver being present in your system and the the version of the chromedriver which is effective in your tests is chromedriver=76.0
Release Notes of chromedriver=76.0 clearly mentions the following :
Supports Chrome version 76
Presumably you are using chrome= 75.0.
Release Notes of ChromeDriver v75.0 clearly mentions the following :
Supports Chrome 75
So there is a clear mismatch between the ChromeDriver v76.0 and the Chrome Browser v75.0
Solution
Ensure that:
Selenium is upgraded to current levels Version 3.141.59.
ChromeDriver is updated to current ChromeDriver v79.0.3945.36 level.
Chrome is updated to current Chrome Version 79.0 level. (as per ChromeDriver v79.0 release notes)
Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
If your base Web Client version is too old, then uninstall it and install a recent GA and released version of Web Client.
Take a System Reboot.
Execute your #Test as non-root user.
Always invoke driver.quit() within tearDown(){} method to close & destroy the WebDriver and Web Client instances gracefully.
Reference
You can find a relevant detailed discussion in:
How to work with a specific version of ChromeDriver while Chrome Browser gets updated automatically through Python selenium

How to fix this issue " chrome browser compatibilty issue in selenium webdriver"?

I am just trying to automate a piece of code for automating the contact form, it was working fine a month ago but right now it's showing the below mention error
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=73.0.3683.20 (8e2b610813e167eee3619ac4ce6e42e3ec622017),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.19 seconds
version compatibility issue, my chrome version is 74.** something and selenium is supporting 70-73
Issue : Your Chrome Browser Version is 74 and Your framework is having ChromeDriver Binary v73.0.3683.20 which supports Chrome Browser v73
Solution : Update your ChromeDriver Binary Version to v74.0.3729.6
Please have a look at Chrome Browser Release Section : Chrome Browser vs ChromeDriver Binary and follow below information -
If you are using Chrome version 75, please download ChromeDriver 75.0.3770.8
If you are using Chrome version 74, please download ChromeDriver 74.0.3729.6 (You shall follow this)
If you are using Chrome version 73, please download ChromeDriver 73.0.3683.68
For older version of Chrome, please see this discussion for the version of ChromeDriver that supports it.
Hope following above would resolve your issue.

Which ChromeDriver version is compatible with which Chrome Browser version?

Actually I'm a bit confused. Although I read several resources about this.
For having a test of Selenium 3 using ChromeBrowser we need an extra app called ChromeDriver.
I found this text from GitHub:
ChromeDriver is only compatible with Chrome version 12.0.712.0 or
newer. If you need to test an older version of Chrome, use Selenium RC
and a Selenium-backed WebDriver instance.
My question is are all ChromeDriver versions compatible with all Chrome version? No conflict between each version?
Where can I find documentation of all versions matching between the ChromeDriver & ChromeBrowser?
After 2.46, the ChromeDriver major version matches Chrome
chromedriver chrome
76.0.3809.68 76
75.0.3770.140 75
74.0.3729.6 74
73.0.3683.68 73
It seems compatibility is only guaranteed within that revision.
If you need to run chromedriver across multiple versions of chrome for some reason, well, plug the latest version number of chrome you're using into the Chromedriver version selection guide, then hope for the best. Actual compatibility will depend on the exact versions involved and what features you're using.
Older version compatibility matrix
Here is a chart of the compatibility between chromedriver and chrome.
This information can be found at the Chromedriver downloads page.
chromedriver chrome
2.46 71-73
2.45 70-72
2.44 69-71
2.43 69-71
2.42 68-70
2.41 67-69
2.40 66-68
2.39 66-68
2.38 65-67
2.37 64-66
2.36 63-65
2.35 62-64
2.34 61-63
2.33 60-62
---------------------
2.28 57+
2.25 54+
2.24 53+
2.22 51+
2.19 44+
2.15 42+
All versions are not cross-compatible.
For example, we had a bug today where chromedriver 2.33 was trying to run this on Chrome 65:
((ChromeDriver) driver).findElement(By.id("firstName")).sendKeys("hello")
Due to the navigation changes in Chrome 63, updated in Chromedriver 2.34, we got back
unknown error: call function result missing 'value'
Updating to Chromedriver 2.37 fixed the issue.
I found, that chrome and chromedriver versions support policy has changed recently.
As stated on downloads page:
If you are using Chrome version
please download chromedriver
Chrome v107
ChromeDriver 107.0.5304.18
Chrome v106
ChromeDriver 106.0.5249.61
Chrome v105
ChromeDriver 105.0.5195.52
Chrome v104
ChromeDriver 104.0.5112.79
Chrome v103
ChromeDriver 103.0.5060.134
Chrome v102
ChromeDriver 102.0.5005.61
Chrome v101
ChromeDriver 101.0.4951.41
Chrome v100
ChromeDriver 100.0.4896.60
Chrome v99
ChromeDriver 99.0.4844.51
Chrome v98
ChromeDriver 98.0.4758.102
Chrome v97
ChromeDriver 97.0.4692.71
Chrome v96
ChromeDriver 96.0.4664.45
Chrome v95
ChromeDriver 95.0.4638.69
Chrome v94
ChromeDriver 94.0.4606.113
Chrome v93
ChromeDriver 93.0.4577.63
Chrome v92
ChromeDriver 92.0.4515.107
Chrome v91
ChromeDriver 91.0.4472.101
Chrome v90
ChromeDriver 90.0.4430.24
Chrome v89
ChromeDriver 89.0.4389.23
Chrome v88
ChromeDriver 88.0.4324.96
Chrome v87
ChromeDriver 87.0.4280.88
Chrome v86
ChromeDriver 86.0.4240.22
Chrome v85
ChromeDriver 85.0.4183.87
Chrome v84
ChromeDriver 84.0.4147.30
Chrome v83
ChromeDriver 83.0.4103.39
Chrome v81
ChromeDriver 81.0.4044.69
Chrome v80
ChromeDriver 80.0.3987.106
Chrome v79
ChromeDriver 79.0.3945.36
Chrome v78
ChromeDriver 78.0.3904.105
Chrome v77
ChromeDriver 77.0.3865.40
Chrome v76
ChromeDriver 76.0.3809.126
Chrome v75
ChromeDriver 75.0.3770.140
Chrome v74
ChromeDriver 74.0.3729.6
Chrome v73
ChromeDriver 73.0.3683.68
older version of Chrome
see Barett's anwer
There is general guide to select version of crhomedriver for specific chrome version: https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection
Here is excerpt:
First, find out which version of Chrome you are using. Let's say you have Chrome 72.0.3626.81.
Take the Chrome version number, remove the last part, and append the result to URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_". For example, with Chrome version 72.0.3626.81, you'd get a URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_72.0.3626".
Use the URL created in the last step to retrieve a small file containing the version of ChromeDriver to use. For example, the above URL will get your a file containing "72.0.3626.69". (The actual number may change in the future, of course.)
Use the version number retrieved from the previous step to construct the URL to download ChromeDriver. With version 72.0.3626.69, the URL would be "https://chromedriver.storage.googleapis.com/index.html?path=72.0.3626.69/".
After the initial download, it is recommended that you occasionally go through the above process again to see if there are any bug fix releases.
Note, that this version selection algorithm can be easily automated. For example, simple powershell script in another answer has automated chromedriver updating on windows platform.
For starters, all ChromeDriver versions are not compatible with all versions of Chrome.
Sometimes I wake up, run my script, if it breaks, I update the driver. Then it works. Chrome has quietly updated itself without telling me.
For a starting point of finding which chromedrivers go with which chrome versions
this link brings you to the current release notes. You can look at previous release notes for earlier versions.
https://chromedriver.storage.googleapis.com/2.26/notes.txt
----------ChromeDriver v2.26 (2016-12-09)----------
Supports Chrome v53-55
This page will show you the current release
https://sites.google.com/a/chromium.org/chromedriver/downloads
The Chrome Browser versión should matches with the chromeDriver versión.
Go to : chrome://settings/help
How do I confirm I'm using the right chromedriver?
Go to the folder where you have chromeDriver
Open command prompt pointing the folder
run: chromeDriver -v
In case of mine, I solved it just by npm install protractor#latest -g and npm install webdriver-manager#latest. I am using chrome 80.x version. It worked for me in both Angular 4 & 6
At the time of writing this I have discovered that chromedriver 2.46 or 2.36 works well with Chrome 75.0.3770.100
Documentation here: http://chromedriver.chromium.org/downloads states align driver and browser alike but I found I had issues even with the most up-to-date driver when using Chrome 75
I am running Selenium 2 on Windows 10 Machine.
This is a helpful website listing the mapping for the latest releases of Chrome -
https://www.uitests-chromedrivermapping.com