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

Last updated: May 06, 2018 11:26

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
automationInfrastructureDevice automation infrastructure of the mobileFor example: XCUITest, UIAutomation (for iOS), UIAutomator1, UIAutomator2 (for Android)


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

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 the string 'Galaxy' and would match any of {Galaxy S6, Galaxy S9, Galaxy 8+}.

Capabilities for development

Capability NameMeaning


The Eclipse execution id
scriptNameName used as the Report Name for the both DigitalZoom Report Library and for Execution Manager interfaces (see also the DigitalZoom capabilities below)

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, 3.8.1
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.


DesiredCapabilities capabilities = new DesiredCapabilities("mobileChrome", "", Platform.ANY);
String host = "";
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.8.1");
URL url = new URL("https://" + host + "/nexperience/perfectomobile/wd/hub/fast");
RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);

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).

capabilities.setCapability("takesScreenshot", true);
capabilities.setCapability("screenshotOnError", false);

DigitalZoom Report Capabilities

DigitalZoom Reporting uses different test identifying parameters as flags associated with the test reports. These identifying items are used to filter, select, or just to easily identify the test report. These values may be associated to the test using the DigitalZoom SDK or alternatively using the following DesiredCapability fields:

Capability NameMeaningValues
Identifier of the test run project name
report.projectVersionVersion number associated with the project
report.jobNameCI Job name for this testString or Integer (for example, may be either "2.5" or 3)
report.jobNumberCI Job number for this testString
report.jobBranchName of test branch, if relevantString
report.tagsAny tags user associated with this testStrings, separated by a comma (',')
report.customFieldsAny set of custom parameters to associate with the test runStrings in the format "key=value,key=value..."

Any values for the project or job information will be overwritten by settings using the SDK. Values provided for the tags and customFields will be merged, with priority given to values set by the SDK. See also scriptName capability above.


String browserName = "mobileOS";
DesiredCapabilities capabilities = new DesiredCapabilities(browserName, "", Platform.ANY );
String host = perfectoLabURL;
capabilities.setCapability("securityToken", myToken);
capabilities.setCapability("report.projectName", "test_fail_to_open");
capabilities.setCapability("report.projectVersion", "2.0");
capabilities.setCapability("report.tags", "spring,forward,tag1");
capabilities.setCapability("report.jobName", "myTestJob");
capabilities.setCapability("report.jobNumber", 8);
capabilities.setCapability("report.jobBranch", "master");
capabilities.setCapability("report.customFields", "cc=custom,mm=fewer");

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