Ran into a similar problem. Usually, I'd fix this by changing the version number in my package.json
file to match my chrome browser version. This worked until chromedriver v115 came out. For chromedriver v115, it still worked even though the browser version didn't match. That is I could put in my package.json
:
"webdriver:update": "webdriver-manager update --versions.chrome=114.0.5735.248",
While my browser was 115.0.5790.170. The end to end tests still worked.
Now that chromedriver v116 came out and my browser updated to v116.0.5845.96, the above doesn't work anymore. My workaround was to download the chromedriver-win64.zip and put it in C:\your project\node_modules\webdriver-manager\selenium and extract it. Then you'll have a chromedriver-win64 folder with the chromedrive.exe file. Next is update the update-config.json
file to make it point to the latest chromedriver. Update the last like so:
{
"gecko": {
...
},
"chrome": {
"last": "C:\\your project\\node_modules\\webdriver-manager\\selenium\\chromedriver-win64\\chromedriver.exe",
"all": [
"C:\\your project\\node_modules\\webdriver-manager\\selenium\\chromedriver_83.0.4103.39.exe",
"C:\\your project\\node_modules\\webdriver-manager\\selenium\\chromedriver_114.0.5735.248.exe",
"C:\\your project\\node_modules\\webdriver-manager\\selenium\\chromedriver_114.0.5735.16.exe"
]
},
"standalone": {
'''
}
}
After this, the end to end tests worked again.
Selenium Webdriver
truly is a nightmare to install and maintain. The fact that chromedriver only works with one version at a time and must constantly be kept in sync w/ Chrome's auto updates are just one of the reasons why this tech is 'advanced' as far as how difficult it is to maintain. On our team only one person's e2e tests run properly, due to webdriver install/versioning/dependency/OS/CPU issues (yes, all of those). As an Angular dev I'm glad Protractor is being deprecated and can't wait to jump to something like Cypress (does not use Webdriver). – Horsefly