Update Protractor to use Latest Chromedriver (Otherwise it can't run against Chrome v65)
See original GitHub issueUpdate @IgorSasovets posts the best solution in the thread below:
As you mentioned, chromedriver version which protractor uses for tests executing depends on version in node_modules/protractor. I faced such issue few times and fixed it using
node_modules/protractor/bin/webdriver-manager update
command. After that I ran my tests and all worked as expected with latest version of chromedriver.
Feature Request
Fix issue running Protractor in Chrome 65.
Once Chrome updates on your machine to version 65, Protractor will no longer be able to execute tests.
The local solution to this is to go download Chromedriver 2.36 and then point your config files to this - and thus override Protractor’s Chromedriver choice (2.33.x).
chromeDriver: './location/of/your/chromedriver.exe'
I could not figure out a more elegant way to update the chromedriver being used by Protractor other than manually overriding it in the config file.
I think this possibly tied to the version of webdriver-manager that lives in your /node-modules/protractor/bin
. I tried to update that, but I don’t think you can or it for some reason doesn’t take.
My tests were running fine on Friday 9 March, then a co-worker complained that their tests weren’t working. I asked him what Chrome version he had (65), then I checked mine and it auto-updated from 64 to 65, then mine stopped working as well. But manually using the newest Chromedriver does fix my problems.
Thank you!
Bug report
- Node Version: 8.4.0
- Protractor Version: 5.3.0
- Angular Version: 1.6.9
- Browser(s): Chrome 65.0.3325.146
- Operating System and Version: Windows 10
Run any test:
[11:17:32] I/launcher - Running 1 instances of WebDriver
[11:17:32] I/direct - Using ChromeDriver directly...
[11:17:38] E/launcher - Error: WebDriverError: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)
at Object.checkLegacyResponse (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:505:15)
at parseHttpResponse (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
at doSend.then.response (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:440:13)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: Protractor.get(https://<url.under.test>) - reset url
at Driver.schedule (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:816:17)
at ProtractorBrowser.executeScriptWithDescription (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\lib\browser.ts:583:24)
at driver.controlFlow.execute.then.then.then (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\lib\browser.ts:888:23)
at ManagedPromise.invokeCallback_ (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1366:14)
at TaskQueue.execute_ (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2970:14)
at TaskQueue.executeNext_ (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2953:27)
at asyncRun (C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2813:27)
at C:\Users\<user>\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:676:7
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
[11:17:38] E/launcher - Process exited with error code 100
Process finished with exit code 100
Issue Analytics
- State:
- Created 6 years ago
- Comments:16 (3 by maintainers)
Top GitHub Comments
I added
to protractor.conf.js in the config object and it works now.
Hi @mthoreso ! As you mentioned, chromedriver version which protractor uses for tests executing depends on version in node_modules/protractor. I faced such issue few times and fixed it using
command. After that I ran my tests and all worked as expected with latest version of chromedriver.