Our devDependencies rely on https://www.npmjs.com/package/chromedriver to install the latest chromedriver and make it available to Selenium, but that npm package will only download the latest stable chromedriver version that corresponds to the major semver value for the npm package.
So there are two issues that affect how we test this project (and will likely apply to any downstream consumers who use this project in their own tests):
We would need to use a wildcard rather than a specific release number in our project's devDependencies if we want to pull in the latest production version of https://www.npmjs.com/package/chromedriver (and by extension, an underlying driver that will work with the latest production version of Chrome).
We need to either find some way to automate downloading the Chrome Canary chromedriver, or skip running tests against Chrome Canary. Otherwise, the tests will fail with an error along the lines of: SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 75
I believe that, starting with the M72(?) release, the versioning used for chromedriver has changed.
C.f.:
Our
devDependencies
rely on https://www.npmjs.com/package/chromedriver to install the latest chromedriver and make it available to Selenium, but that npm package will only download the latest stable chromedriver version that corresponds to the major semver value for the npm package.So there are two issues that affect how we test this project (and will likely apply to any downstream consumers who use this project in their own tests):
We would need to use a wildcard rather than a specific release number in our project's
devDependencies
if we want to pull in the latest production version of https://www.npmjs.com/package/chromedriver (and by extension, an underlying driver that will work with the latest production version of Chrome).We need to either find some way to automate downloading the Chrome Canary chromedriver, or skip running tests against Chrome Canary. Otherwise, the tests will fail with an error along the lines of:
SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 75
Note that https://www.npmjs.com/package/chromedriver is just a wrapper to handle downloads from the https://chromedriver.chromium.org archive... but it's a useful wrapper.