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
Installation
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.
Configuration
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
.
export.config = {
services: ['sauce'],
user: process.env.SAUCE_USERNAME,
key: process.env.SAUCE_ACCESS_KEY,
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',
testobject_api_key: process.env.SAUCE_RDC_ACCESS_KEY,
platformName: 'iOS',
platformVersion: '11.4'
},
]
Options
user
Your Sauce Labs username.
Type: String
(only for vm and or em/simulators)
key
Your Sauce Labs access key.
Type: String
(only for vm and or em/simulators)
sauceConnect
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)
sauceConnectOpts
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)