Open
Description
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:
- Share SM as native library (very easy to do!)
- Expose rust
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
- In .NET it will be 20 lines of code instead of 200 (including realtime logging from SM!)
- More performant! (and memory 50KB vs 200B)
- Lightweight footprint for end users: like if my application is targeted to MacOS, then only MacOS native SM will be a part of my application (at this time all 3 targets)
- I will be able to publish my application as single file. Currently SM binaries are placed besides of my application, I don't want to see SM.
- Bindings will not include executable binaries which leads to be more friendly with Antiviruses.