Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 207
gumuruh Avatar asked Dec 14 '16 01:12

gumuruh


People also ask

Does ChromeDriver need to match Chrome version?

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.

Are Chrome drivers backward compatible?

Backward compatibility was dropped from ChromeDriver for a couple of reasons: It adds complexity to the code, and is expensive to maintain. It requires an infrastructure to test each build of ChromeDriver against multiple versions of Chrome.

What is the current ChromeDriver version?

ChromeDriver 79.0.3945.36 For more details, please see the release notes.


2 Answers

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.

like image 133
Barett Avatar answered Oct 04 '22 02:10

Barett


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 v99 ChromeDriver 99.0.4844.35
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.

like image 24
hal Avatar answered Oct 04 '22 02:10

hal