protractor: Update Protractor to use Latest Chromedriver (Otherwise it can't run against Chrome v65)
Update @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
About this issue
- Original URL
- State: open
- Created 6 years ago
- Comments: 16 (3 by maintainers)
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.
why is this project so very very far behind with browser-versions??? 76 almost half a year old now. You only need to use the lastest selenium-webdriver version to support it or is there more to it?
For me, the following worked:
webdriver-manager
as direct dependency. (npm install webdriver-manager --save-dev
)package-lock.json
andnode_modules
folder.npm install
.Afterward protractor tests should pick up the webdriver-manager version (Note the paths):
I’m having a same issue. How to specify the chromedriver version if we use webdriver_update_specific method?