-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[🚀 Feature]: Better Browser Version Caching #11209
Comments
@titusfortner, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
The decision made was to set the TTL zero for browser version check. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Feature and motivation
TL/DR on current Browser Version Caching:
Recommendation:
Cost vs Benefit
Driver caching
Conclusion: small gains, but very small tradeoff makes it worth it.
Browser caching
Conclusion: very small time savings; essentially a rounding error in the latency from one http call, at the expense of potential errors and confusion.
Comparison of Existing Driver Managers
No Driver Caching
By default these implementations do not check browser version, and download the latest driver version. There is an optional toggle to get the latest based on the installed browser. They do not cache drivers:
This implementation caches driver versions list from Mozilla, but not the drivers themselves:
This one gets latest version, but does no driver caching:
Driver version caching
These cache the driver themselves to minimize the number of http calls that need to be made:
Browser version caching
Driver & Driver version caching makes sense to minimize the number of http calls being sent unnecessarily.
There is only one implementation that also caches the browser / browser version, and that's the java webdriver manager.
Failure example:
Chromium based drivers work for version n & n+1.
If you have v105 and v106 gets installed, v105 driver will still work. This is fine if you are running tests regularly.
If you haven't run a test on a machine with a browser that hasn't been updated in a while, it can cause a failure as seen below:
Confusion Scenario:
Options
I recommend option 3.
The text was updated successfully, but these errors were encountered: