GoogleChromeLabs / selenium-assistant

A node module that helps using browsers with selenium
https://googlechromelabs.github.io/selenium-assistant/
Apache License 2.0
90 stars 26 forks source link

Update dependencies, drop Opera and Chrome Canary #120

Closed jeffposnick closed 5 years ago

jeffposnick commented 5 years ago

Fixes #117, fixes #118, fixes #119

The main thrust of this PR is to bring the package.json dependencies (and devDependencies) up to date, including selenium-webdriver v4.0.0-alpha.4. (While it's an alpha release, it's apparently ready for use.)

As part of that change, we've dropped support for Opera (which is no longer supported by selenium-webdriver) and Chrome Canary (which requires a separate driver that isn't wrapped in an npm package, as described in #117).

There was one small breaking change to how timeouts are managed, but otherwise, the selenium-related changes were minimal.

There are a number of cosmetic/code style changes that were made with eslint --fix to get it happy using the latest Google code style, and a few typos that I noticed.

jeffposnick commented 5 years ago

Okay, I got things working using an approach where chromedriver (and geckodriver) aren't saved as devDependencies in package.json, but instead are installed via npm install --no-save in a pretest script.

I think that's the cleanest approach to ensure that the latest versions are being used when running the test suite, and it works locally and on Travis CI.