Skip to end of metadata
Go to start of metadata

Selenium-Specific Options

Required Selenium Test Configuration Settings

SettingDescriptionKeyValue TypeExample

Browser Name

The name of the browser test against. Options are:

  • android
  • chrome
  • firefox
  • htmlunit
  • internet explorer
  • iPhone
  • iPad
  • opera
  • safari
browserName string "browserName": "firefox"

Browser Version

The version of the browser you want to use in your test.version string "version", "45.0"


Which platform the browser should be running on. Options are:

  •  windows
  • xp
  • vista
  • mac
  • linux
  • unix
  • android
platform string "platform", "OS X 10.9"

Other Selenium Options

OptionDescriptionKeyValue TypeExample

Selenium Version

Allows you to choose the version of Selenium you want to use for your test.seleniumVersionstring"seleniumVersion":"2.46.0"

Appium-Specific Options 

Required Appium Test Configuration Settings

SettingDescriptionKeyValue TypeExampleNotes

Browser Name

The mobile web browser that will be automated in the simulator, emulator or device.browserNamestring"browserName", "Safari"If you're testing a mobile native application or a mobile hybrid application, the value for this capability should be an empty string. Check out Types of Mobile Applications and Tests for more information.

Device Name

The name of the simulator, emulator, or device you want to use in the test.deviceNamestring"deviceName","Google Nexus 7 HD Emulator"

For an Android emulator test you can request a generic Android emulator by using the option "deviceName":"Android Emulator". If you want to use an Android emulator that looks and feels like a specific Android phone or tablet, for example a Google Nexus 7 HD Emulator or a Samsung Galaxy S4, then instead of "deviceName":"Android Emulator", you need to specify the exact Android emulator skin to use, for example "deviceName":"Samsung Galaxy S4 Emulator".

Each Android emulator skin will have a different configuration depending on the phone or tablet that it emulates. For example, all the skins have different resolutions, screen dimensions, pixel densities, memory, etc. You can use the Platforms Configurator to get a list of the available Android emulator skins for the various Android emulator versions. Supported Android Emulators describes the qualities for each type of emulator that Sauce Labs supports.

Platform Version

The mobile operating system version that you want to use in your test. platformVersionstring"platformVersion","9.1" 

Platform Name

The mobile operating system platform you want to use in your test.platformNamestring"platformName", "iOS" 

Application Path

For mobile and Hybrid application testing only. See Types of Mobile Applications and Tests for more information

The path to a .ipa, .apk or .zip file containing the app to test. This could be the location of your app in the Temporary Sauce Storage, for example,, or the URL to a remote location where your app is located, for example"app",""This capability is only for testing mobile native or mobile hybrid applications. This capability is not required for Android if you specify the appPackage and appActivity capabilities.

Other Appium Options


Appium Version

The version of the Appium driver you want to use. If not specified the test will run against the default Appium version. appiumVersionstring It's better to specify the latest Appium version, which is the one suggested by the Platforms Configurator, unless you have a reason for testing against some other version.

Device Orientation

The orientation in which the simulator/device will be rendered. Options are:

  •  portrait
  • landscape.

Automation Engine

The automation engine that will be used. Options are:

  • Appium 
  • Selendroid

The default is Appium.


Auto Accept Alerts

For iOS Only

You can set this option to automatically accept privacy access alerts related to accessing contacts, photos, or other privacy-protected iOS applications.autoAcceptAlertsboolean"autoAcceptAlerts": true  

Application Package

For Android Only
The Java package of the Android app you want to run.appPackagestring"appPackage",","Appium automatically determines the package to launch, you only need to use this desired capability if you want to specify a package different than the default one.

Android Activity

For Android Only
The name for the Android activity you want to launch from your package.appActivitystring"appActivity",".MainActivity"

This capability needs to be preceded by a . (dot). For example, .MainActivity instead of MainActivity.

Appium automatically determines the activity to launch, you only need to use this desired capability if you want to specify an activity different than the default one.

General Options

These options can be set for both Selenium and Appium Tests.

OptionDescriptionKeyValue TypeExample

Auto Accept Alerts

Setting this option will automatically accept any unexpected browser alerts that come up during your test, such as when Safari pops up the alert "Safari would like to use your current location (Don't Allow | Allow)."autoAcceptAlertsboolean"autoAcceptAlerts": true

Test Annotation

You can add these annotations to your tests to make them easier to track and identify. 

OptionDescriptionKeyValue TypeExample

Test Names

Used to record test names for jobs and make it easier to find individual tests

"name": "my example name"

Build Numbers

Used to associate jobs with a build number or app version, which is then displayed on both the Dashboard and Archives viewbuildstring"build": "build-1234"


User-defined tags for grouping and filtering jobs in the Dashboard and Archives viewtagslist"tags": ["tag1","tag2","tag3"]

Pass/Fail Status

Selenium and Appium handle sending commands to control a browser or app, but don't report to the server whether a test passed or failed. To record pass/fail status on Sauce, set the passed flag on the job. Since you can't know in advance whether a test passed or failed, this flag can't be set in the initial configuration.

passedboolean"passed": "true"

Custom Data

User-defined custom data that will accept any valid JSON object, limited to 64KB in size.customDataobject
"customData": {"release": "1.0", 
                "commit": "0k392a9dkjr", 
                "staging": true, 
                "execution_number": 5, 
                "server": ""}



OptionDescriptionKeyValue TypeExample

Maximum Test Duration

As a safety measure to prevent broken tests from running indefinitely, Sauce limits the duration of tests to 30 minutes by default. You can adjust this limit on per-job basis. The value of this setting is given in seconds. The maximum test duration value allowed is 10800 seconds.maxDurationinteger"maxDuration":1800

Command Timeout

As a safety measure to prevent Selenium crashes from making your tests run indefinitely, Sauce limits how long Selenium can take to run a command in our browsers. This is set to 300 seconds by default. The value of this setting is given in seconds. The maximum command timeout value allowed is 600 seconds.commandTimeoutinteger"commandTimeout":300

Idle Test Timeout

As a safety measure to prevent tests from running too long after something has gone wrong, Sauce limits how long a browser can wait for a test to send a new command. This is set to 90 seconds by default and limited to a maximum value of 1000 seconds. You can adjust this limit on a per-job basis. The value of this setting is given in seconds.idleTimeoutinteger"idleTimeout":90

Sauce Testing Options

OptionDescriptionKeyValue TypeExampleNotes

Version (Browser)

If this capability is null, an empty string, or omitted altogether, the latest version of the browser will be used automatically.versionstring or integer"version": "35" 

Pre-run Executables

You can provide a URL to an executable file, which will be downloaded and executed to configure the VM before the test starts. For faster performance, you may want to upload the executable to temporary Sauce storage. This capability takes a JSON object with four main keys. Check out the topics under Pre-Run Executables for more information.

Running AutoIt Scripts

If you want to run an AutoIt script during your test, compile it as an exe, send it using this capability, and set background to true to allow AutoIt to continue running throughout the full duration of your test. 

Using Multiple Pre-Run Executables

If you need to send multiple pre-run executables, the best way is to bundle them into a single executable file, such as a self-extracting zip file.

Interacting with the Android Emulator

If you need to use Android tools to tweak the emulator before your test starts (such as adb), the ANDROID_HOME environment variable will be set before your executable is invoked. For example, you can access adb via $ANDROID_HOME/platform-tools/adb. 


(primary key)


"prerun": { "executable": "", "args": [ "--silent", "-a", "-q" ], "background": true, "timeout": 120 }


If a single string is sent as the prerun capability rather than a JSON object, this string is considered to be the URL to the executable, and the executable launches with background set to false.
 The URL to the executable you want to run before your browser session starts.


(secondary key)

 A list of the command line parameters that you want the executable to receive.


(secondary key)

 A boolean that defines whether Sauce should wait for this executable to finish before your browser session starts. If background isn't set or is set to false, Sauce will wait for up to 90 seconds for the executable to finish. At that point, the browser will start and your test will proceed.


(secondary key)

 The number of seconds Sauce will wait for your executable to finish before your browser session starts. If timeout isn't set, Sauce will wait for up to 90 seconds for the executable to finish. timeout is capped at 360 seconds and won't apply if background is set to true.


(secondary key)


Identified Tunnels

If an identified tunnel is started using Sauce Connect, your jobs can choose to proxy through it using this set of keys with the right identifier. tunnelIdentifierstring"tunnelIdentifier": "MyTunnel01" 

Specifying the Screen Resolution

This setting specifies which screen resolution should be used during the test session. This feature is available in Windows XP, Windows 7 (except Windows 7 with IE 9), Windows 8, Windows 8.1, and OS X 10.8. We do not yet offer specific resolutions for Windows 10, OS X 10.9, OS X 10.10, OS X 10.11, Linux, or mobile platforms.screenResolutionstring"screenResolution": "1280x1024"

Valid values for Windows XP and Windows 7

  • 800x600 
  • 1024x768 
  • 1052x864 
  • 1152x864 
  • 1280x800 
  • 1280x960 
  • 1280x1024 
  • 1400x1050 
  • 1440x900
  • 1600x1200 
  • 1680x1050 
  • 1920x1200 
  • 2560x1600

Valid values for OS X 10.8

  • 1024x768 
  • 1152x864 
  • 1152x900 
  • 1280x800 
  • 1280x1024 
  • 1376x1032 
  • 1400x1050 
  • 1600x1200 
  • 1680x1050
  • 1920x1200

Valid values for Windows 8 and 8.1

  • 800x600 
  • 1024x768 
  • 1280x1024

Custom Time Zones

Desktop Test VMs can be configured with custom time zones. This feature should work on all operating systems, however time zones on Windows VMs are approximate. They will default to the time zone that the provided location falls into. You can find a complete list of timezones on Wikipedia. Underscores should be replaced with spaces. Sauce takes only location names (not their paths), as shown in the example below.timeZonestring

"timeZone": "Pacific"
"timeZone": "Honolulu"
"timeZone": "Alaska" 
"timeZone": "New_York" 


Chrome Driver Version

Sauce Labs supports the ChromeDriver version 1 series (i.e. 26.0.1383.0) and the version 2 series (i.e. 2.15). The default version of ChromeDriver when no value is specified depends on the version of Chrome.

Chrome 28 and below: Chromedriver 26.0.1383.0
Chrome 29 - 30: Chromedriver 2.4
Chrome 31 - 32: Chromedriver 2.8
Chrome 33 - 36: Chromedriver 2.10
Chrome 37 - 39: Chromedriver 2.11
Chrome 40 - 44: Chromedriver 2.15

chromedriverVersionstring"chromedriverVersion": "2.15"

Supported Chrome Drivers

  • 21.0.1180.0
  • 23.0.1240.0
  • 26.0.1383.0
    • 0.6
    • 0.7
    • 0.8
    • 0.9
    • 2.0
    • 2.1
    • 2.2
    • 2.3
    • 2.4
    • 2.5
    • 2.6
    • 2.7
    • 2.8
    • 2.9
    • 2.10
    • 2.11
    • 2.12
    • 2.13
    • 2.14
    • 2.15

Internet Explorer Driver Version

Sauce Labs supports launching 64-bit IE on our 64-bit VMs: Windows 7, Windows 8, and Windows 8.1. This provides a workaround for two known Selenium issues:

Using a 32 bit driver on a 64 bit operating system causes Selenium's screenshot feature to only capture the part of the page currently visible in the browser viewport Selenium Issue 5876.

Using a 64 bit driver on a 64 bit operating system causes text entry to be extremely slow Selenium Issue 5516.

iedriverVersionstring"iedriverVersion": "2.46.0"

Supported IE Drivers

  • 2.21.1
  • 2.21.2
  • 2.24.0
  • 2.25.3
  • 2.26.0
  • 2.28.0
  • 2.29.0
  • 2.30.1
  • 2.31.0
  • 2.32.2
  • 2.33.0
  • 2.34.0
  • 2.35.0
  • 2.35.1
  • 2.35.2
  • 2.35.3
  • 2.36.0
  • 2.37.0
  • 2.38.0
  • 2.39.0
  • 2.40.0
  • 2.41.0
  • 2.42.0
  • 2.43.0
  • 2.44.0
  • 2.45.0
  • 2.46.0
  • x64_2.29.0
  • x64_2.39.0
  • x64_2.40.0
  • x64_2.41.0
  • x64_2.42.0
  • x64_2.43.0
  • x64_2.44.0
  • x64_2.45.0
  • x64_2.46.0

Avoiding the Selenium Proxy

By default, Sauce routes traffic from some WebDriver browsers (Internet Explorer and Safari) through the Selenium HTTP proxy server so that HTTPS connections with self-signed certificates work everywhere. The Selenium proxy server can cause problems for some users. If that's the case for you, you can configure Sauce to avoid using the proxy server and have browsers communicate directly with your servers.

Don't Need the Selenium Proxy with Firefox or Google Chrome

Firefox and Google Chrome under WebDriver aren't affected by this flag as they handle invalid certificates automatically and there isn't a need to proxy through Selenium. 

Incompatible with Sauce Connect

This flag is incompatible with Sauce Connect. 

avoidProxyboolean"avoidProxy": true 

Job Visibility

Sauce Labs supports several test result visibility levels, which control who can view the test details. The visibility level for a test can be set manually from the test results page, but also programatically when starting a test or with our REST API. For more information about sharing test result, see the topics under Sharing the Results of Sauce Labs Tests.

Available visibility levels are:

Visibility KeyDescription
publicMaking your test public means that it is accessible to everyone, and may be listed on public web pages and indexed by search engines.
public restrictedIf you want to share your job's result page and video, but keep the logs only for you, you can certainly do so with public restricted visiblity mode. This visibility mode will hide the fancy job log as well as prohibit access to the raw Selenium log, so that anonymous users with the link will be able to watch the video and screen shots but won't be able to see what's being typed and done to get there.
shareYou can also decide to make your test sharable. Making your test sharable means that it is only accessible to people having valid link and it is not listed on publicly available pages on or indexed by search engines.
teamIf you want to share your jobs with other team members (that were created as a sub-accounts of one parent account), you can use team visiblity mode. Making your test acessible by team means that it is only accessible to people under the same root account as you.
privateIf you don't want to share your test's result page and video with anyone, you should use private job visibility mode. This way, only you (the owner) will be able to view assets and test result page.

publicstring"public": "public" 

Optional Sauce Testing Features

By default, Sauce Labs captures screenshot and video of your tests. You can disable these and other optional test features. 


Disable video recording

By default, Sauce records a video of every test you run. This is generally handy for debugging failing tests, as well as having a visual confirmation that certain feature works (or still works!) However, there is an added wait time for screen recording during a test run.
"recordVideo": false

Disable step-by-step screenshots

This setting will let you discard videos for passing tests identified using the passed setting. This disables video post-processing and uploading that may otherwise consume some extra time after your test is complete.recordScreenshotsboolean"recordScreenshots": false

Disable log recording

By default, Sauce creates a log of all the actions that you execute to create a report for the test run that lets you troubleshoot test failures more easily.recordLogsboolean"recordLogs": false

Enable HTML source capture

In the same way Sauce captures step-by-step screenshots, we can capture the HTML source at each step of a test. This feature is disabled by default, but you can turn it on any time and find the HTML source captures on your job result page.captureHtmlboolean"captureHtml": true

Enable WebDriver's automatic screen shots

Selenium WebDriver captures automatic screenshots for every server side failure, for example if an element is not found. Sauce disables this by default to reduce network traffic during tests, resulting in a considerable performance improvement in most tests. You can enable this feature, but keep in mind that it may be detrimental to the performance of your jobs. webdriverRemoteQuietExceptionsboolean"webdriverRemoteQuietExceptions": false
Write a comment…