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 support #115

Closed jeffposnick closed 5 years ago

jeffposnick commented 5 years ago

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.)

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

The other major change is that I've dropped support for Opera. This might be controversial, but I am not sure that there are significant enough differences between the desktop versions of Opera and Chrome to make testing both worthwhile. I also ran into issues getting https://github.com/operasoftware/operachromiumdriver working with the selenium updates, but if it's desired, I could figure that out.

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.

jeffposnick commented 5 years ago

Actually, there are some problems due to how https://chromedriver.chromium.org/downloads/version-selection works now—the version of Chrome that we can supported is now tied to the version of the https://www.npmjs.com/package/chromedriver package on npm, and that's leading to, e.g., these sorts of errors:

SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 75

(I don't know how the older, 2.x releases of https://www.npmjs.com/package/chromedriver got around those versioning restrictions?)

Let me put this PR on hold for now, and play around some more.