Updated suggestions
- Change option in Grid:
--selenium-manager toggle to --auto-update
- Change option in SM: Flip
--offline to use --auto-update. This is the Selenium 5 behavior that Grid is opting into and that bindings will get by default for Selenium 5.
- When
--auto-update is set to true, Selenium Manager should ignore existing drivers if they are not the best match for the discovered/downloaded browser
- For Selenium 5 release, just need to "flip the switch" and have
--auto-update default to true instead of false
Feature and motivation
Selenium 4 behavior is to use driver specified in Service class, driver specified in System Properties (for Java), or driver found in PATH.
Selenium 5 behavior is going to use driver specified in Service class (or System Properties for Java), but if an outdated driver is found on PATH, Selenium will update it.
What we have now is trying to maintain Selenium 4 behavior unless a user opts-in. We want Selenium Manager to manage the PATH, so we can't completely toggle the whole binary on/off to get what we want right now, so we have to toggle whether Selenium Manager does downloads.
We're calling this "offline mode" which is a bad name for it because people don't understand why it is there or what it means, because they aren't offline, and they didn't set anything to be offline.
What we need is an explicit toggle to set Selenium 5 behavior now.
This toggle gets set by grid users with --selenium-manager true
This would allow us to remove the --offline-mode toggle, and would make it so we don't need -skip_driver_in_path or -skip_browser_in_path from #12960
Usage example
Updated suggestions
--selenium-managertoggle to--auto-update--offlineto use--auto-update. This is the Selenium 5 behavior that Grid is opting into and that bindings will get by default for Selenium 5.--auto-updateis set to true, Selenium Manager should ignore existing drivers if they are not the best match for the discovered/downloaded browser--auto-updatedefault to true instead of falseFeature and motivation
Selenium 4 behavior is to use driver specified in Service class, driver specified in System Properties (for Java), or driver found in PATH.
Selenium 5 behavior is going to use driver specified in Service class (or System Properties for Java), but if an outdated driver is found on PATH, Selenium will update it.
What we have now is trying to maintain Selenium 4 behavior unless a user opts-in. We want Selenium Manager to manage the PATH, so we can't completely toggle the whole binary on/off to get what we want right now, so we have to toggle whether Selenium Manager does downloads.
We're calling this "offline mode" which is a bad name for it because people don't understand why it is there or what it means, because they aren't offline, and they didn't set anything to be offline.
What we need is an explicit toggle to set Selenium 5 behavior now.
This toggle gets set by grid users with
--selenium-manager trueThis would allow us to remove the
--offline-modetoggle, and would make it so we don't need-skip_driver_in_pathor-skip_browser_in_pathfrom #12960Usage example