-
-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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]: Publish Selenium Manager as a native shared library #15355
Comments
@nvborisenko, 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! |
Here's the analysis I'm looking at: https://chatgpt.com/share/67c77ba9-1d58-800a-8480-c7406f98e9b5 My takeaway is that it isn't worth having multiple implementations, but we should discuss it more. |
No comment on the PR or decision, but I just wanna say that ChatGPT analysis is freakin incredible... like... wow 🤯 I'm still adjusting to how impressive some AI can be, and that really hit me. Scary. |
Yeah, I still have to go back and forth with it a bit to make sure I'm actually asking the right questions, but deep research is a game changer |
I read the analysis, and it boils down to:
Taking each of these in turn:
Given that the proposal is to add a new mechanism to call Selenium Manager, rather than to remove the binary, and given that there are some nice benefits we could get from this, it seems like moving forwards with this (perhaps only in the .Net binary to start with) is a reasonable thing to do. BTW, another benefit about allowing Selenium Manager to be linked as a library is becomes possible to embed it elsewhere, which may expand its reach. |
@shs96c where else would it be embedded? I was thinking that if the bindings are the only consumer, then some of the input/output can be simplified compared to the CLI commands, but I want to make sure I understand the other use cases. |
Probably I am not good engineer, but do you feel the difference between "start OS process" and "use library"? |
The more I think about it, the more potential I think it has to simplify things in the long run when considering the bindings specifically. |
Feature and motivation
Selenium Manager is a tool, executable binary. Meaning that if I want to use it programmatically I should invoke it as new OS process.
But it can be simplified:
extern
function (easy to do)Then I will be able to use Selenium Manager functionality without a hell of "OS process communication". I am from .NET world.
Usage example
The text was updated successfully, but these errors were encountered: