Skip to content

[🚀 Feature]: Publish Selenium Manager as a native shared library #15355

Open
@nvborisenko

Description

@nvborisenko

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions