-
Notifications
You must be signed in to change notification settings - Fork 116
Description
Heya,
Yesterday, chromedriver_2.25
became the default when using webdriver-manager update
. It seem to have dropped support for Chromium 51.0.2704, which is the latest available on travis using "Trusty beta" (the most recent image available).
Here are two example travis logs from https://github.com/angular/quickstart:
New, broken CI run: https://s3.amazonaws.com/archive.travis-ci.org/jobs/170052868/log.txt
Old, working CI run: https://s3.amazonaws.com/archive.travis-ci.org/jobs/169864190/log.txt
The workaround for now should to be to pin the version by using the --versions.chrome=2.24
flag. But when doing so, protractor
will still try to use the latest version even though 2.24 is the only one downloaded:
$ npm run e2e
> [email protected] pree2e /home/travis/build/angular/quickstart
> npm run webdriver:update
> [email protected] webdriver:update /home/travis/build/angular/quickstart
> webdriver-manager update --versions.chrome=2.24
[12:34:45] I/file_manager - creating folder /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium
[12:34:45] I/downloader - selenium standalone: downloading version 2.53.1
[12:34:45] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar
[12:34:45] I/downloader - chromedriver: downloading version 2.24
[12:34:45] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.24linux64.zip https://chromedriver.storage.googleapis.com/2.24/chromedriver_linux64.zip
[12:34:45] I/downloader - geckodriver: downloading version v0.9.0
[12:34:45] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0-linux64.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.9.0/geckodriver-v0.9.0-linux64.tar.gz
[12:34:45] I/update - chromedriver: unzipping /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.24linux64.zip
[12:34:45] I/update - chromedriver: setting permissions to 0755 for /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.24
[12:34:46] I/update - geckodriver: unzipping /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0-linux64.tar.gz
[12:34:46] I/update - geckodriver: setting permissions to 0755 for /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0
> [email protected] e2e /home/travis/build/angular/quickstart
> tsc && concurrently "http-server -s" "protractor protractor.config.js" --kill-others --success first
[1] [12:34:50] I/direct - Using ChromeDriver directly...
[1] [12:34:50] I/launcher - Running 1 instances of WebDriver
[1] [12:34:50] E/direct - Error code: 135
[1] [12:34:50] E/direct - Error message: Could not find chromedriver at /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.25
[1] [12:34:50] E/direct - Error: Could not find chromedriver at /home/travis/build/angular/quickstart/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.25
[1] at Direct.getNewDriver (/home/travis/build/angular/quickstart/node_modules/protractor/built/driverProviders/direct.js:65:27)
[1] at Runner.createBrowser (/home/travis/build/angular/quickstart/node_modules/protractor/built/runner.js:198:43)
[1] at /home/travis/build/angular/quickstart/node_modules/protractor/built/runner.js:285:30
[1] at _fulfilled (/home/travis/build/angular/quickstart/node_modules/q/q.js:834:54)
[1] at self.promiseDispatch.done (/home/travis/build/angular/quickstart/node_modules/q/q.js:863:30)
[1] at Promise.promise.promiseDispatch (/home/travis/build/angular/quickstart/node_modules/q/q.js:796:13)
[1] at /home/travis/build/angular/quickstart/node_modules/q/q.js:556:49
[1] at runSingle (/home/travis/build/angular/quickstart/node_modules/q/q.js:137:13)
[1] at flush (/home/travis/build/angular/quickstart/node_modules/q/q.js:125:13)
[1] at _combinedTickCallback (internal/process/next_tick.js:67:7)
[1] [12:34:50] E/launcher - Process exited with error code 135
[1] protractor protractor.config.js exited with code 135
--> Sending SIGTERM to other processes..
[0] http-server -s exited with code 0
Pinning [email protected]
also did not work, it still tries to use chromedriver_2.25
. Explicitly adding [email protected]
(the previous version) does not work either, since [email protected]
still looks for chromedriver_2.25
.
Using both [email protected]
and [email protected]
does work however:
$ npm run e2e
> [email protected] pree2e /home/travis/build/angular/quickstart
> npm run webdriver:update
> [email protected] webdriver:update /home/travis/build/angular/quickstart
> webdriver-manager update
[13:10:59] I/file_manager - creating folder /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium
[13:10:59] I/downloader - selenium standalone: downloading version 2.53.1
[13:10:59] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar
[13:10:59] I/downloader - chromedriver: downloading version 2.24
[13:10:59] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/chromedriver_2.24linux64.zip https://chromedriver.storage.googleapis.com/2.24/chromedriver_linux64.zip
[13:10:59] I/downloader - geckodriver: downloading version v0.9.0
[13:10:59] I/downloader - curl -o /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0-linux64.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.9.0/geckodriver-v0.9.0-linux64.tar.gz
[13:10:59] I/update - chromedriver: unzipping /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/chromedriver_2.24linux64.zip
[13:10:59] I/update - chromedriver: setting permissions to 0755 for /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/chromedriver_2.24
[13:11:00] I/update - geckodriver: unzipping /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0-linux64.tar.gz
[13:11:00] I/update - geckodriver: setting permissions to 0755 for /home/travis/build/angular/quickstart/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0
> [email protected] e2e /home/travis/build/angular/quickstart
> tsc && concurrently "http-server -s" "protractor protractor.config.js" --kill-others --success first
[1] [13:11:05] I/direct - Using ChromeDriver directly...
[1] [13:11:05] I/launcher - Running 1 instances of WebDriver
[1] AppDir: ./
[1] Started
[1]
[1] Suite: QuickStart E2E Tests
[1] .
[1] passed - should display: My First Angular App
[1] Suite passed: QuickStart E2E Tests
[1]
[1]
[1]
[1] 1 spec, 0 failures
[1] Finished in 1.543 seconds
[1]
[1] [13:11:07] I/launcher - 0 instance(s) of WebDriver still running
[1] [13:11:07] I/launcher - chrome #01 passed
[1] protractor protractor.config.js exited with code 0
--> Sending SIGTERM to other processes..
[0] http-server -s exited with code 0
Is there a better way to support travis?