This isn't the usual case when you use Protractor. However as per the discussions in:
As of now there seems to be some discrepancy in downloading the latest stable ChromeDriver. The ChromeDriver - WebDriver for Chrome repository clearly suggests:
So as the current google-chrome browser version is Version 84.0.4147.89, ChromeDriver 84.0.4147.30 should have been downloaded and installed.
Solution
As per @Fuun347
's comment the solution is to:
Add version arguments to the webdriver-manager update and start commands. Updating and starting your webdriver with these commands will force the version to always be 84:
webdriver-manager update --versions.chrome=84.0.4147.30
webdriver-manager start --versions.chrome=84.0.4147.30
Note: Running ng e2e --project=e2e-no-serve --specs=./src/service/ --webdriverUpdate=false will stop the angular-cli from trying to update the webdriver.
Further, @TylerNielsen
in his comment added:
The following worked for us:
We have webdriver-manager installed as project dependency.
we call webdriver-manager update --versions.chrome 84.0.4147.30 prior
to running our tests. This will install the 84 chromedriver version in
./node_modules/webdriver-manager/selenium/. (We just made this as a
npm script in our package.json)
We then update the protractor.conf file to have this line in the root
of exports.config:
chromeDriver:"./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30.exe"**
Protractor still installs chromedriverr 85, but it will use the 84
version.
In our case, we run our protractor tests in docker, but develop mostly on windows. So I updated the protractor.conf to have this line
so that it works in either: chromeDriver: process.platform === "win32"
?
"./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30.exe"
:
"./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30"