Protractor: Protractor 5.4.2 is not compatible with Chrome 77

Created on 10 Sep 2019  Â·  16Comments  Â·  Source: angular/protractor

Chrome 77 just got released, which is not compatible with Protractor 5.4.2:

[15:06:46] E/runner - Unable to start a WebDriver session.
[15:06:46] E/launcher - Error: SessionNotCreatedError: session not created: 
  This version of ChromeDriver only supports Chrome version 75
  (Driver info: chromedriver=75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}),platform=Mac OS X 10.14.6 x86_64)

Specifying later version of chromedriver works, but it is pretty much not a robust solution, as it requires to specify the exact version of driver:

/webdriver-manager update --versions.chrome=77.0.3865.40

--versions.chrome=77 doesn't work

Most helpful comment

@localpcguy this is what I put in our protractor config:

chromeDriver: './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_77.0.3865.75',

That won't cause protractor to download it. We use Travis CI instead of Circle CI. To get the correct chromedriver downloaded, I put this command in our travis.yml file:

./node_modules/protractor/bin/webdriver-manager update --versions.chrome=77.0.3865.75

All 16 comments

Is downgrading chrome currently the only available solution for this problem? Running webdriver-manager update with the specific version downloads the correct driver version, but it's not used when running the e2e tests.

Downloaded driver version should be used when running tests. At least it is
used in my case and other people reported it is being used in similar cases
before. One suggestion - check if there is no mixup with local/global
versions - maybe manager updates driver locally but then you run globally
installed Protractor, or vise versa.

On Thu, 12 Sep 2019 at 6:57 AM, MonsieurBon notifications@github.com
wrote:

Is downgrading chrome currently the only available solution for this
problem? Running webdriver-manager update with the specific version
downloads the correct driver version, but it's not used when running the
e2e tests.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/protractor/issues/5312?email_source=notifications&email_token=ABAJO6ARRYGNQDSEO4CP66DQJIOBDA5CNFSM4IVLW2S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6RPNPY#issuecomment-530773695,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAJO6HBI3METZM6FNNAXHLQJIOBDANCNFSM4IVLW2SQ
.

I can see the version 75 being downloaded and the log states, it's being used. To be able to use Chrome 77 I had to change "maxChromedriver": "75" in node_modules/webdriver-manager/config.json and node_modules/webdriver-manager/built/config.json to 77

There is a command line argument to specify exact version for web driver
manager update command - please look at top post in this issue. Depending
on your needs that can be bit more convenient than making changes to the
mentioned json file.

On Thu, 12 Sep 2019 at 7:39 AM, MonsieurBon notifications@github.com
wrote:

I can see the version 75 being downloaded and the log states, it's being
used. To be able to use Chrome 77 I had to change "maxChromedriver": "75"
in node_modules/webdriver-manager/config.json and
node_modules/webdriver-manager/built/config.json

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/protractor/issues/5312?email_source=notifications&email_token=ABAJO6CLIFVEMMMO75LJYILQJITABA5CNFSM4IVLW2S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6RSPPQ#issuecomment-530786238,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAJO6G6CPLSKKMDGL7BEPTQJITABANCNFSM4IVLW2SQ
.

Running into this issue on CI server (CircleCI) where don't have the ability to directly modify the node_module configs.

Is there any way to specify the Chrome version to use in the protractor config or protractor CI config files?

If not, any other solutions that don't require modifying node_module files directly?

@localpcguy this is what I put in our protractor config:

chromeDriver: './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_77.0.3865.75',

That won't cause protractor to download it. We use Travis CI instead of Circle CI. To get the correct chromedriver downloaded, I put this command in our travis.yml file:

./node_modules/protractor/bin/webdriver-manager update --versions.chrome=77.0.3865.75

I don't have luck when specifying the exact version of chromedriver. I get a "file exists" error when it doesn't:

webdriver-manager clean && webdriver-manager update --versions.chrome=77.0.3865.40
webdriver-manager: using global installed version 12.1.3
[11:58:31] I/file_manager - removed geckodriver-v0.25.0
[11:58:31] I/file_manager - removed geckodriver-v0.25.0.tar.gz
[11:58:31] I/file_manager - removed selenium-server-standalone-3.141.59.jar
[11:58:31] I/file_manager - removed chrome-response.xml
[11:58:31] I/file_manager - removed gecko-response.json
[11:58:31] I/file_manager - removed standalone-response.xml
webdriver-manager: using global installed version 12.1.3
[11:58:31] I/config_source - curl -o/Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/standalone-response.xml https://selenium-release.storage.googleapis.com/
[11:58:31] I/config_source - curl -o/Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[11:58:31] I/config_source - curl -o/Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[11:58:31] E/downloader - undefined
[11:58:31] I/update - chromedriver: file exists /Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/chromedriver_77.0.3865.40.zip
[11:58:31] I/update - chromedriver: unzipping chromedriver_77.0.3865.40.zip
(node:7188) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Invalid filename
(node:7188) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[11:58:31] I/downloader - curl -o/Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
[11:58:32] I/downloader - curl -o/Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/geckodriver-v0.25.0.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.25.0/geckodriver-v0.25.0-macos.tar.gz
[11:58:33] I/update - geckodriver: unzipping geckodriver-v0.25.0.tar.gz
[11:58:33] I/update - geckodriver: setting permissions to 0755 for /Users/Mike/.nvm/versions/node/v8.9.4/lib/node_modules/webdriver-manager/selenium/geckodriver-v0.25.0

just wanted to confirm that the fix referenced by @mharting worked - I did have to adjust the paths slightly to be correct for my setup.

Okay this should work now. You'll need to get the latest webdriver-manager version 12.1.7. This should work from here on in to get the latest release of chromedriver.

To get the latest you might need to remove the node_modules folder and redownload your node modules or do a force install of your node modules (npm i -f)

Okay this should work now. You'll need to get the latest webdriver-manager version 12.1.7. This should work from here on in to get the latest release of chromedriver.

Upgrading webdriver-manager to 12.1.7 works for me. Thanks

For those using Travis, you'll also need to change your distribution to Xenial because Chrome 77 stopped supporting Trusty , ie. in travis.yml:

dist: xenial
addons:
   chrome: stable

I'm still seeing this issue with angular 7 and protractor, I'm running ng e2e
In the logs I'm seeing that it is using the correct driver but still failing:

[22:05:30] I/update - chromedriver: chromedriver_77.0.3865.40 up to date
[22:05:31] I/launcher - Running 1 instances of WebDriver
[22:05:31] I/direct - Using ChromeDriver directly...
[22:05:33] E/runner - Unable to start a WebDriver session.
[22:05:33] E/launcher - Error: Error: Server terminated early with status 127

Any thoughts?

After updating chrome driver I kept hitting error E/launcher - session not created: This version of ChromeDriver only supports Chrome version 75 as global binaries were not getting updated. Reinstalling protractor globally instantly worked for me.

@DesHorsley I had this obscure error message when CI (Bamboo in my case) was trying to run e2e tests. This was due to Linux X11 being not loaded for automatic builds. You need to run the e2e tests with a headless Chrome to avoid needing X11. My protractor.conf.js :


capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
      'args': ['--headless']
    }
  },
Was this page helpful?
0 / 5 - 0 ratings

Related issues

vishalshivnath picture vishalshivnath  Â·  3Comments

codef0rmer picture codef0rmer  Â·  3Comments

smarts picture smarts  Â·  3Comments

gamecheck80 picture gamecheck80  Â·  3Comments

davidkarlsen picture davidkarlsen  Â·  3Comments