Skip to content
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]: Allow the new SeleniumManager CLI to be used as a Rust lib crate #11132

Closed
stevepryde opened this issue Oct 16, 2022 · 10 comments
Assignees
Labels
C-rust I-enhancement I-stale Applied to issues that become stale, and eventually closed.

Comments

@stevepryde
Copy link

Feature and motivation

Hi, I'm the owner/maintainer of the thirtyfour rust crate (rust selenium client).

We're looking at adding some functionality to thirtyfour in future to manage WebDriver versions and starting/stopping them locally. A lot of those features look like they will be part of the new SeleniumManager tool. However it's only a CLI at the moment.

It would be awesome if you could structure that rust crate as a lib + bin and expose the same API via the lib, so that thirtyfour can use this directly and expose the same functionality within our crate without having to shell out to run the binary (and require users to install the binary).

I'd be happy to contribute this feature if you like, including collaborating with people on your team to get the API/design right.

Usage example

Instead of rust projects having to shell out to the SeleniumManager CLI, it would be much nicer to import that crate as a dependency in thirtyfour and we can expose the same functionality via our own API in thirtyfour.

This provides far better integration for users of thirtyfour, and any other rust projects in the same space.

@github-actions
Copy link

@stevepryde, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@bonigarcia
Copy link
Member

Hi @stevepryde. Indeed this seems a look idea to me. Can you please provide a PR about that? And, of course, your feedback about the design of Selenium Manager is welcome. Thanks!

@bonigarcia bonigarcia added C-rust help wanted Issues looking for contributions and removed needs-triaging labels Oct 17, 2022
@github-actions
Copy link

This issue is looking for contributors.

Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested.

@itsparser
Copy link

Hi @stevepryde, I am very much interested to work in this feature can you create the plan and roadmap? will help you out on that. we can connect using slack

@stevepryde
Copy link
Author

Hi @stevepryde, I am very much interested to work in this feature can you create the plan and roadmap? will help you out on that. we can connect using slack

See the above github-actions comment above yours. I'm not leading this feature and don't have time to work on it currently, sorry.

@bcpeinhardt
Copy link

@stevepryde just so you know I tried this out and you can in fact pull in the library and used it. You just have to do a git dependency from the selenium project with the branch set as trunk.

Idk if this should be wrapped or reexported under a feature flag in the future, but for now might be worth mentioning in the README with an example Cargo.toml snippet since WebDriverManager functionality is so widely used in other bindings.

Let me know if you'd like it there and I'll edit the README and make a pull request.

@stevepryde
Copy link
Author

Let me know if you'd like it there and I'll edit the README and make a pull request.

@bcpeinhardt That sounds like a good idea. Thanks.

@github-actions
Copy link

This issue is stale because it has been open 280 days with no activity. Remove stale label or comment or this will be closed in 14 days.

@github-actions github-actions bot added the I-stale Applied to issues that become stale, and eventually closed. label Sep 21, 2023
@github-actions
Copy link

github-actions bot commented Oct 5, 2023

This issue was closed because it has been stalled for 14 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 5, 2023
Copy link

github-actions bot commented Dec 4, 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 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C-rust I-enhancement I-stale Applied to issues that become stale, and eventually closed.
Projects
Status: Done
Development

No branches or pull requests

5 participants