Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

WebdriverIO Sauce Service

WebdriverIO service that provides a better integration into SauceLabs. This service can be used for:

  • the Sauce Labs virtual machine cloud (desktop web and em/simulators) and can update the job metadata ('name', 'passed', 'tags', 'public', 'build', 'custom-data') and runs Sauce Connect if desired.
  • the Sauce Labs Real Device cloud (iOS and Android) and can ONLY update the job status to passed / failed


The easiest way is to keep @wdio/sauce-service as a devDependency in your package.json.

  "devDependencies": {
    "@wdio/sauce-service": "^5.0.0"

You can simple do it by:

npm install @wdio/sauce-service --save-dev

Instructions on how to install WebdriverIO can be found here.


In order to use the service for the virtual machine and em/simulator cloud you need to set user and key in your wdio.conf.js file. It will automatically use Sauce Labs to run your integration tests. If you want to use Sauce Connect you just need to set sauceConnect: true. If you would like to change data center to EU add region:'eu' as US data center is set as default (region only works on ^4.14.1 or ^5.0.0).

// wdio.conf.js
export.config = {
  // ...
  services: ['sauce'],
  user: process.env.SAUCE_USERNAME,
  key: process.env.SAUCE_ACCESS_KEY,
  region: 'us',
  sauceConnect: true,
  // ...

If you want to use the Real Device cloud just pass the testobject_api_key in the capabilities like this:

capabilities = [
    deviceName: 'iPhone XS',
    // The api key that has a reference to the app-project in the RDC cloud
    testobject_api_key: process.env.SAUCE_RDC_ACCESS_KEY,
    // Some default settings
    // You can find more info in the TO Appium Basic Setup section
    platformName: 'iOS',
    platformVersion: '11.4'

Sauce Service Options


If true it runs Sauce Connect and opens a secure connection between a Sauce Labs virtual machine running your browser tests.

Type: Boolean
Default: false

(only for vm and or em/simulators)


Apply Sauce Connect options (e.g. to change port number or logFile settings). See this list for more information.

Type: Object
Default: {}

(only for vm and or em/simulators)


Use Sauce Connect as a Selenium Relay. See more here.

Type: Boolean
Default: false

You can’t perform that action at this time.