Skip to content

[🚀 Feature]: Offline Mode in Selenium Manager #11639

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

Closed
titusfortner opened this issue Feb 9, 2023 · 9 comments
Closed

[🚀 Feature]: Offline Mode in Selenium Manager #11639

titusfortner opened this issue Feb 9, 2023 · 9 comments
Labels
C-rust Rust code is mostly Selenium Manager I-enhancement Something could be better

Comments

@titusfortner
Copy link
Member

Feature and motivation

This would address issues like #11636 as well as some of the concerns people have raised around changes in perception of security considerations.

I think this should be managed in Rust instead of in each binding and the grid, since there is more functionality the Manager should be doing than just downloads. So that means it needs to be an environment variable.

Usage example

ENV["SELENIUM_MANAGER_DOWNLOADS_DISABLED"] = true

@bonigarcia
Copy link
Member

I made some comments in the original feature request (#11636).

Regarding the proposed environment variable proposed in this issue (SELENIUM_MANAGER_DOWNLOADS_DISABLED), sure, it can be implemented on the Rust side. But do you mean disable all downloads but keep using the cache?

To make it more compliant with the current implementation, maybe we can add a Selenium Manager flag called --disable-downloads to carry out that function. The use of envs is aligned with the proposal on #11690. In that case, the naming convention I proposed for that would convert the --disable-downloads flag to SE_DISABLE_DOWNLOADS.

@diemol
Copy link
Member

diemol commented Feb 22, 2023

The original reason/request (#11636) was made because we changed the original Grid behavior. We were downloading drivers and making them available by default. The original behavior was to detect the available drivers and build the stereotypes from there.

I made a fix in this commit 6cb3e2f

Aside of the Grid use case, no one has asked for this feature. So I believe we do not need this right now.

@titusfortner
Copy link
Member Author

Hmm, yeah, I guess for bindings we just tell people to specify the location of the driver if you don't want to toggle selenium manager.

@titusfortner
Copy link
Member Author

yeah, I'm going to close this as I think what Diego has done is good enough, can create a new issue if someone wants more.

@github-project-automation github-project-automation bot moved this from High to Done in Selenium Manager Feb 22, 2023
@titusfortner
Copy link
Member Author

I'm reopening this one. If we are going to move functionality for checking whether the driver is on PATH from the bindings to SM, we need users to be able to explicitly tell SM to accept what is on the machine without downloading. I think ENV is the right way to do this.

@diemol
Copy link
Member

diemol commented May 25, 2023

I made some comments in the original feature request (#11636).

Regarding the proposed environment variable proposed in this issue (SELENIUM_MANAGER_DOWNLOADS_DISABLED), sure, it can be implemented on the Rust side. But do you mean disable all downloads but keep using the cache?

To make it more compliant with the current implementation, maybe we can add a Selenium Manager flag called --disable-downloads to carry out that function. The use of envs is aligned with the proposal on #11690. In that case, the naming convention I proposed for that would convert the --disable-downloads flag to SE_DISABLE_DOWNLOADS.

Now after learning more about the usage, I think what Boni proposed initially is what we need to implement.

@titusfortner titusfortner changed the title [🚀 Feature]: Toggle Downloads in Selenium Manager [🚀 Feature]: Offline Mode in Selenium Manager Jul 13, 2023
@titusfortner
Copy link
Member Author

After further discussion, it was decided that the feature should be considered an "offline mode" which means no network calls of any kind, not just downloads.

Selenium Manager can look for drivers on PATH or in cache, and log warnings if things don't look correct, but do no remediations

@titusfortner
Copy link
Member Author

Done!

@github-project-automation github-project-automation bot moved this from High to Done in Selenium Manager Jul 19, 2023
@titusfortner titusfortner added C-rust Rust code is mostly Selenium Manager and removed rust labels Oct 22, 2023
Copy link

github-actions bot commented Dec 2, 2023

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.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C-rust Rust code is mostly Selenium Manager I-enhancement Something could be better
Projects
Status: Done
Development

No branches or pull requests

3 participants