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:
- Wait until a new Browser version is released
- Attempt to build the node image (chrome is more likely to cause issues)
- Run the grid locally in docker
- Launch a new session
- 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.