does latest chromedriver 2.33 needs selenium 3 - selenium

I am using Selenium 2.52 and chromedriver 2.29 for chrome browser version 57.
But I could see chrome browser version got updated to latest version 61 in selenium nodes and so tests are failing with "org.openqa.selenium.WebDriverException: unknown error: Element is not clickable
".
So I have updated the chromedriver version to latest 2.33 since the Chrome browser version is the latest.
some tests are getting passed and still, I could see some tests are failing with same error or similar type of error.
Is it required to update Selenium version to any latest version or Selenium 3 to use latest chromedriver?

Your selenium version is an old version. With the latest "browser"driver (ChromeDriver 2.33, in your case) is recommended to use Selenium 3.5 (and greater)

Related

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

Is there any selenium version (3.8.1) compatible with firefox latest versions?

Until now I tried 3.4.1 with firefox 53.0 and gecko driver 0.16. Curious if someone has tried latest webdriver version against any latest firefox versions?
The latest gecko driver (i.e v0.19.1) supports Firefox 54 and greater
(Refer here)
Selenium version should be 3.5 and greater.(Refer here)

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

Selenium webdriver 2.41.0 with Firefox V 46 and Chrome V 51

I am using selenium 2.41.0 that works fine with all versions of IE 11, but it is not supporting Firefox 46.0 and Chrome 51 [Chrome supports till 50th version with the latest driver 2.21]. Could anyone guide me what I need to do to support latest versions of Firefox and Chrome? Do I need to upgrade Web driver or Firefox/Chrome Drivers.
If you want to work with latest version Chrome (v 51 as of now) update your
selenium chrome driver to latest according to your browser version.
To work with Firefox v46 and above you need to use gecko driver by using latest version of selenium jars v3.0.1.

How to update chromedriver version to 35?

I am using chromedriver version 2.10. I have update the version to 35.
Could anyone provide how can i achieve that?
Read on if your webdriver-manager update doesn't update chromedriver
to the latest.
I lost a few weeks pulling my hair around an issue I had with "Unable to discover open pages" and every time I would update the chromedriver, it would update to version 2.22 for chromedriver and I believe the selenium server to v2.53.
My problem wasn't really with the selenium server so v2.53 was fine.
Issue was with chromedriver v2.22.
Eventhough this chromdriver link showed that there was a latest version of 2.24, 'webdriver-manager update' would NOT pick up that latest version, it would only grab version 2.22 of the chrome driver.
How did I go around this?
Simply run the command below after you check this link for which version of chromedriver you want to update to; for instance, I wanted v2.24 so I ran the command below:
webdriver-manager update --versions.chrome 2.24
If you check your location: C:\Users\<USER>\AppData\Roaming\npm\node_modules\webdriver-manager\selenium\
You should see that the desired chromedriver was downloaded there; if it's not there, read the command prompt logs and it'll tell you where it downloaded your chromdriver files.
Hope that helps someone!
Chromedriver latest version is 2.10. You can check versions http://chromedriver.storage.googleapis.com/index.html.
We can update chrome version to 35 http://filehippo.com/download_google_chrome/57050/
You should distinguish between chromedriver and chrome as a browser.
The version of chromedriver is not connected with version of chrome browser but you'd better use the latest version of chromedriver.
ChromeDriver and Chrome browser are two separate applications.
ChromeDriver is an implementation of WebDriver, an API which allow us to control browser behaviour.
In ChromeDriver case it's used to control Chrome browser of some version.
As you noted, ChromeDriver last version is 2.10
The version of the Chrome browser which is controlled by the ChromeDriver, got separate development flow and get updated independently to ChromeDriver, Chrome browser version in your case is 35.
In conclusion, don't mix the two applications, they different.
P.S. it's important to note, that in some occasion when new browser version released, the according driver got updated to in order to update it's behaviour according to the new developments of the browser.