Skip to content

[🚀 Feature]: Selenium Manager Opt-In to Se 5 Behavior #12985

@titusfortner

Description

@titusfortner

Updated suggestions

  1. Change option in Grid:--selenium-manager toggle to --auto-update
  2. 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.
  3. 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
  4. 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

SE_AUTO_UPDATE=true

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-rustRust code is mostly Selenium ManagerI-enhancementSomething could be better

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions