Page tree
Skip to end of metadata
Go to start of metadata

Table of Contents:

The following tables provide the capabilities supported by the Perfecto Lab Automation for Selenium and Appium.

Perfecto Lab credentials

Capability NameMeaningValues/Examples
securityTokenUser's personal security token (recommended to use as authentication). 
userThe name of the user running the operation 
passwordThe password for the user 

Important note: Use the securityToken for authentication, unless your Perfecto Lab does not support the feature.


Selecting a mobile device

Define the capabilities to select a device in the Continuous Quality Lab according to device attributes, instead of a specific device ID; and define the CQ Lab credentials.

Note: A specific device can still be selected using the deviceName capability.

Best Practice: Use Auto-generated capability settings as the basis for selecting either Mobile or Web devices.

Capability NameMeaningValues / Examples
deviceNameThe deviceIdFor example: 345304573489573498
deviceTypeThe platform typeWeb, Mobile
descriptionThe device description 
locationThe device locationFor Example: NA-US-BOS
manufacturermanufacturerFor example: Apple, Samsung, HTC, Microsoft
modelThe device model.For example: iPhone-5S, Galaxy S III, Xperia Z, 9100, HTC One
networkThe device networkFor example: AT&T, Verizon
The timeout, in minutes, to wait for a specific device in case it is not available at the start of the script (use with caution)
Max: 15 minutes
platformNameThe device operating systemFor example: Android, Windows, iOS
platformVersionThe device operating system versionFor example: 9.3.1
resolutionThe resolution of the device screenFor example: 1920x1080
Type of image
.jpg (default), .png, .bmp


DesiredCapabilities capabilities = new DesiredCapabilities("mobileChrome", "", Platform.ANY);
String host = "";
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("user", "myUser");
capabilities.setCapability("securityToken", "myToken");
URL url = new URL("https://" + host + "/nexperience/perfectomobile/wd/hub");
RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);

Mobile browser


Capability NameMeaningValues
browserNameBrowser application namechrome, mobileChrome, safari, mobileSafari, mobileOS, mobileDefault
versionBrowser versionfor example: 53, 49
platform Any

Regular expressions

Regular expressions including wildcards can be used. The capability values are case sensitive.

  • OR - e.g. "ATaT|T-Mob" for network means either ATaT (for AT&T) or a network beginning with 'T-Mob'.
  • NOT - e.g. "(?!(Amazon|Apple)).*" for manufacturer means neither Amazon nor Apple.
  • contains - e.g. ".*Galaxy.* for model means the model contains 'Galaxy'.

Capabilities for development

Capability NameMeaning


The Eclipse execution id
scriptNameThe script report and report folder names

Click here for a breakdown of supported Appium capabilities

Desktop Web testing

Web VM Configuration Capabilities

Set the capabilities to define the VM to be used for your Web app testing.

Capability NameMeaningValues
platformNameThe VM OSWindows, Mac
platformVersionThe OS versionSee lists of supported versions
browserNameThe browser running on VMInternet Explorer, Chrome, Firefox, Edge, Safari
browserVersionThe browser versionSee here for supported browser versions
resolutionThe VM display resolution1024x768 (default) See here for complete list of supported resolutions 

Location of Perfecto Web machine facility, when using a virtual web platform.

When accessing physical Mac devices use same values as for Mobile selection

US East, Germany
deviceTypeThe platform typeWeb, Mobile
seleniumVersionVersion of the Selenium client library to configure3.0.1, 3.4.0
chromedriverVersionVersion of the Selenium driver classes for the Chrome browser.2.15, 2.16, 2.20, 2.21, 2.22, 2.23, 2.24, 2.25, 2.29, 2.33
geckodriverVersion Version of the Selenium driver classes for the Firefox browser.0.11.1, 0.16.0, 0.19.1

Note: browserVersion capability supports the following values in addition to a version number:

  • latest: This will always run the latest supported version for the selected browser.
  • latest-1: This will run the version previous to the latest version supported.
  • latest-2: This will run a version two previous to the latest version supported.
  • beta: This will always run the latest beta-testing version for the selected browser.

These values will be translated to the appropriate version number and will be listed in the execution report with the version number.

Note: location capability is optional when platformName capability is Windows, but mandatory when platformName is Mac.


capabilities.setCapability("platformName", "Windows");
capabilities.setCapability("platformVersion", "10");
capabilities.setCapability("browserName", "Chrome");
capabilities.setCapability("browserVersion", "latest");
capabilities.setCapability("resolution", "1366x768");
capabilities.setCapability("location", "US East");
capabilities.setCapability("chromedriverVersion", "2.23");
capabilities.setCapability("seleniumVersion", "3.0.1");

Web Application Capabilities

Capability NameMeaningValues
takesScreenshotSystem takes screenshots of application at different points during execution and attaches them to the execution report.true | false
(default: false)
screenshotOnErrorSystem takes screenshot of application at point where an error status is reported. Screenshot is attached to the execution reporttrue | false
(default: true)

Notes: Taking screenshots affect the execution times of the Desktop-Web test

  • Screenshot capabilities support Selenium commands (not, for example, Visual Analysis or Assert).

Perfecto Report & Video

Faster test execution performance with the option to specify whether a report or video will be created during script execution. This means more tests can be run per hour.

Capability NameMeaningValues
The test execution output report
outputVideoThe test execution output video
 The report access user permissionsprivate, group, public


capabilities.setCapability("outputReport", false);
capabilities.setCapability("outputVideo", false);
capabilities.setCapability("outputVisibility", "public");

Wind Tunnel

Capability NameMeaning


The name of a pre-defined persona
windTunnelPersonaKeyThe repository key of a defined persona json file
windTunnelLocationThe device location, as coordinates *
windTunnelLocationAddressThe device location, as an address *
windTunnelOrientationThe device orientation
windTunnelVNetworkThe virtual network profile
windTunnelBackgroundRunningAppsThe applications to run in the background

* This is the device location to simulate. It is different from the location capability, used for selecting a mobile device, that identifies the actual device location.

Supported Appium Capabilities

Learn more on Appium specific supported capabilities here