TilBlechschmidt/WebGrid

Version mismatch between browser and WebDriver

Opened this issue Β· 1 comments

πŸ› Bug description

The WebDriver install script currently uses a pinned version for the driver but installs the latest version of the selected browser. This is known to cause issues due to incompatibilities especially with Google Chrome.

🦢 Reproduction steps

Steps to reproduce the behavior:

  1. Wait until a new Browser version is released
  2. Attempt to build the node image (chrome is more likely to cause issues)
  3. Run the grid locally in docker
  4. Launch a new session
  5. Watch it burn on startup πŸ”₯

🎯 Expected behaviour

When selecting a browser version the install script should always download a matching WebDriver executable.


Context

Version
This bug is not version dependent.

Where did the problem occur?

  • ☸️ Kubernetes
  • 🐳 Docker
  • πŸ‘¨β€πŸ’» Locally

Which browsers cause the bug?
Chrome is more likely to break with a version mismatch but it is expected to happen to Firefox as well.

Additional context
A subsequent issue is that there are seemingly no past binary releases for Google Chrome, thus we can't pin it to prevent issues. To remedy this problem there has to be a reliable method of choosing a chromedriver version for the latest Chrome.

For chromedriver there exists a Workflow to retrieve a version that matches a given Chrome version number. It is outlined here.

Mozilla does not appear to have a comprehensive method available. However, a version matching chart can be found in their documentation. It suggests that the latest geckodriver has support for roughly the last two years of Firefox versions.

Solution sketch

Firefox

A viable solution would be to always install the latest geckodriver under the assumption that the ubuntu repositories don't lack behind more than one year.

Chrome

To solve the version mismatch the bash script linked in the original post would have to follow through the workflow linked at the beginning of this comment to find a matching driver for the Chrome version available from the ubuntu repos.