Nearly Pure Mustard


    4.0.0-alpha.32 • Public • Published

    Selenium SIDE Runner

    Runs exported Selenium IDE tests in command line


    Node.js is required to use the Selenium side-runner. The project guarantees support for the active LTS major version (e.g. 10 & 12).
    NOTE: The minimum supported version of Node is now 10.15.0 LTS

    yarn global add selenium-side-runner
    npm install -g selenium-side-runner


    selenium-side-runner project.side project2.side *.side

    Passing capabilities

    selenium-side-runner -c "browserName=chrome platform=MAC"

    Passing nested capabilities

    selenium-side-runner -c "goog:chromeOptions.binary='/Applications/Google Chrome'"

    Chrome specific list capabilities (headless)

    selenium-side-runner -c "goog:chromeOptions.args=[disable-infobars, headless]"

    Running on remote WebDriver server

    selenium-side-runner --server http://localhost:4444/wd/hub

    Filter tests

    Will only run tests matching the filter selenium-side-runner --filter mytest

    Changing the base URL

    Change the base URL that the tests were recorded with, note that it will not affect tests that used absolute URLs. selenium-side-runner --base-url


    All of the configuration can be written in the .side.yml file, the runner will load it from the current working directory automatically.

    Example usage

      browserName: "firefox"
    baseUrl: ""
    server: "http://localhost:4444/wd/hub"

    Advanced features

    Running on multiple workers

    Running tests faster through the use of multiple workers
    selenium-side-runner -w 4
    The runner will automatically set the number of workers to the amount of cores available, for most cases this is the best result.
    Note: unless you specified that a suite is parallel, it will still run the contained tests sequentially, though the runner will run suites in parallel by default.
    To mark a suite's tests as parallel, set that in the suite's settings in the IDE.

    Using a proxy server

    selenium-side-runner can pass proxy capabilities to the browser using the following schemes.

    direct proxy

    Configures WebDriver to bypass all browser proxies.
    selenium-side-runner --proxy-type=direct

    proxyType: direct
    manual proxy

    Manually configures the browser proxy.
    selenium-side-runner --proxy-type=manual --proxy-options="http=localhost:434 bypass=[http://localhost:434, http://localhost:8080]"

    proxyType: manual
      http: http://localhost:434
      https: http://localhost:434
      ftp: http://localhost:434
        - http://localhost:8080
        - http://host:434
        - http://somethingelse:32
    pac proxy

    Configures WebDriver to configure the browser proxy using the PAC file at the given URL.
    selenium-side-runner --proxy-type=pac --proxy-options="http://localhost/pac"

    proxyType: pac
    proxyOptions: http://localhost/pac
    socks proxy

    Creates a proxy configuration for a socks proxy.
    selenium-side-runner --proxy-type=socks --proxy-options="socksProxy=localhost:434 socksVersion=5"

    proxyType: socks
      socksProxy: localhost:434
      socksVersion: 5
    system proxy

    Configures WebDriver to use the current system's proxy.
    selenium-side-runner --proxy-type=system

    proxyType: system


    I'm getting an error similar to Unknown locator ${vars.something}

    When running your projects make sure that the command is aware of the locator strategy before variables are evaluated.
    For example click | id=${myButton} vs click | ${idOfMyButton}.
    Always use the first one, since the strategy is hardcoded in the command, the second would yield an error.


    npm i selenium-side-runner

    DownloadsWeekly Downloads






    Unpacked Size

    167 kB

    Total Files


    Last publish


    • toddtarsi
    • corevo
    • tourdedave