# @wdio/selenium-standalone-service

> A WebdriverIO service to start & stop Selenium Standalone

Latest version **8.15.0** (published 2023-08-23) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @wdio/selenium-standalone-service
pnpm add @wdio/selenium-standalone-service
yarn add @wdio/selenium-standalone-service
bun add @wdio/selenium-standalone-service
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 8.15.0 |
| Published | 2023-08-23 |
| First published | 2018-11-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | ^16.13 \|\| >=18 |
| Dependencies | 5 |
| Unpacked size | 6.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9842 |
| Author | Christian Bromann |
| Maintainers | christian-bromann, wdio-user, wswebcreation-nl |
| Keywords | webdriver, webdriverio, wdio, wdio-service, selenium, standalone, server, tests |

## Links

- npm: https://www.npmjs.com/package/@wdio/selenium-standalone-service
- Repository: https://github.com/webdriverio/webdriverio
- Homepage: https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-selenium-standalone-service
- Issues: https://github.com/webdriverio/webdriverio/issues
- npm.io page: https://npm.io/package/@wdio/selenium-standalone-service

## Dependencies (5)

- [@types/node](https://npm.io/package/@types/node.md) ^20.1.0
- [@wdio/types](https://npm.io/package/@wdio/types.md) 8.14.0
- [@wdio/config](https://npm.io/package/@wdio/config.md) 8.14.0
- [@wdio/logger](https://npm.io/package/@wdio/logger.md) 8.11.0
- [selenium-standalone](https://npm.io/package/selenium-standalone.md) ^9.0.5

## Alternatives

- [@snazzah/davey](https://npm.io/package/@snazzah/davey.md) — 1.5M weekly downloads
- [@vendure/testing](https://npm.io/package/@vendure/testing.md) — 8.3K weekly downloads
- [vue-simple-context-menu](https://npm.io/package/vue-simple-context-menu.md) — 6.6K weekly downloads
- [cypress-webpack-preprocessor-v5](https://npm.io/package/cypress-webpack-preprocessor-v5.md) — 2.1K weekly downloads
- [@backstage/plugin-catalog-backend-module-puppetdb](https://npm.io/package/@backstage/plugin-catalog-backend-module-puppetdb.md) — 1.3K weekly downloads

## Recent versions

- 8.15.0 (latest) — 2023-08-23
- 7.40.0 (v7) — 2024-12-18
- 8.0.0-alpha.631 (next) — 2022-12-01
- 7.0.0-beta.4 (beta) — 2021-02-09
- 7.33.0 — 2023-10-06
- 7.32.4 — 2023-08-21
- 8.14.0 — 2023-08-01
- 8.13.13 — 2023-07-27
- 8.12.1 — 2023-07-10
- 8.11.3 — 2023-07-07
- 8.11.0 — 2023-06-08
- 8.10.7 — 2023-06-03
- 8.10.6 — 2023-06-01
- 8.10.4 — 2023-05-19
- 8.10.2 — 2023-05-10
- … 209 more at https://npm.io/package/@wdio/selenium-standalone-service/versions

## README

WebdriverIO Selenium Standalone Service
=======================================

Handling the Selenium server is out of the scope of the actual WebdriverIO project. This service helps you to run Selenium seamlessly when running tests with the [WDIO testrunner](https://webdriver.io/guide/testrunner/gettingstarted). It uses the well-known [selenium-standalone](https://www.npmjs.com/package/selenium-standalone) NPM package that automatically sets up the standalone server and all required drivers for you.

__Note:__ If you use this service you don't need any other driver services (e.g. [wdio-chromedriver-service](https://www.npmjs.com/package/wdio-chromedriver-service)) anymore. All local browsers can be started using this service.

## Installation

Before starting make sure you have JDK installed.

The easiest way is to keep `@wdio/selenium-standalone-service` as a devDependency in your `package.json`.
You can do it by:

```sh
npm install @wdio/selenium-standalone-service --save-dev
```

Instructions on how to install `WebdriverIO` can be found [here.](https://webdriver.io/docs/gettingstarted)

## Configuration

By default, ChromeDriver, Geckodriver and some other browser drivers based on the OS are available when installed on the user's system. To use the service you need to add `selenium-standalone` to your service array:

```js
/**
 * simplified mode (available since v6.11.0)
 * set `true` to use the version provided by `selenium-standalone`, 'latest' by default
*/
export const config = {
    // ...
    services: [
        ['selenium-standalone', { drivers: { firefox: '0.33.0', chrome: true, chromiumedge: 'latest' } }]
    ],
    // ...
};
```

Control browser driver installation/running separately.
```js
// wdio.conf.js
const drivers = {
    chrome: { version: '112.0.5615.49.101' }, // https://chromedriver.chromium.org/
    firefox: { version: '0.33.0' }, // https://github.com/mozilla/geckodriver/releases
    chromiumedge: { version: '114.0.1791.0' } // https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
}

export const config = {
    // ...
    services: [
        ['selenium-standalone', {
            logPath: 'logs',
            installArgs: { drivers }, // drivers to install
            args: { drivers } // drivers to use
        }]
    ],
    // ...
};
```

### Custom Configurations

By default the service starts on `localhost:4444` and ensures that all capabilities are able to connect to it. If you prefer to run on a different port please specify `port` as an option in your capabilities, e.g.:

```js
// wdio.conf.js
export const config = {
    // ...
    services: [
        ['selenium-standalone', {
            logPath: './temp',
            args: {
                version: "4.4.0",
                seleniumArgs: ['--host', '127.0.0.1','--port', '5555']
            },
        }]
    ],
    capabilities: [{
        browserName: 'chrome',
        port: 5555
    }, {
        browserName: 'firefox',
        port: 5555
    }, {
        browserName: 'MicrosoftEdge',
        port: 5555
    }]
    // ...
}
```

## Options

The following options can be added to the wdio.conf.js file.

### logPath
Path where all logs from the Selenium server should be stored.

Type: `String`

Default: `{}`

Example:
```js
logPath : './',
```

### [`args`](https://github.com/vvo/selenium-standalone/blob/HEAD/docs/API.md#seleniumstartopts)
Map of arguments for the Selenium server, passed directly to `Selenium.start()`.
Please note that latest drivers have to be installed, see `installArgs`.

Type: `Object`

Default: `{}`

Example:
```js
args: {
    version : "4.4.0",
    drivers : {
        chrome : {
            version : "112.0.5615.49.101",
            arch    : process.arch
        }
    }
},
```

### [`installArgs`](https://github.com/vvo/selenium-standalone/blob/HEAD/docs/API.md#seleniuminstallopts)
Map of arguments for the Selenium server, passed directly to `Selenium.install()`.

By default, versions will be installed based on what is set in the selenium-standalone package. The defaults can be overridden by specifying the versions.

Type: `Object`

Default: `{}`

Example:
```js
installArgs: {
    version : "4.4.0",
    baseURL : "https://github.com/SeleniumHQ/selenium/releases/download",
    drivers : {
        chrome : {
            version : "112.0.5615.49.101",
            arch    : process.arch,
            baseURL : "https://chromedriver.storage.googleapis.com"
        }
    }
},
```

### skipSeleniumInstall
Boolean for skipping `selenium-standalone` server install.

Type: `Boolean`

Default: `false`

----

For more information on WebdriverIO see the [homepage](https://webdriver.io).

---
_Source: https://npm.io/package/@wdio/selenium-standalone-service · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
