Supported Appium capabilities

Use capabilities to select the device, start applications, control the Perfecto Appium server.

General settings

Capability

Value

Description

app


The Perfecto repository path to an .ipa (for iOS) or an .apk or .apks file (for Android). For virtual devices, this is a .zip file (for iOS) or an .apk or .apks file (for Android).

Incompatible with browserName.

autoLaunch

true (default)
false

Whether to have Appium install and launch the app automatically.

automationName

Appium (default), XCUITest,
PerfectoMobile

Which automation engine to use - determines the UIElement Class names identified by the automation engine. See Note below.

Use XCUITest if automating iOS 10 or later native applications.

Note: Use PerfectoMobile for the Perfecto object tree - uses generic UIElement classes. Not relevant for virtual devices.

browserName

Chrome
Safari
MobileOS
MobileDefault
PerfectoMobile

Name of mobile web browser to automate.

Note: For application testing use an empty string.

fullReset

true
false (default)

Reset app state by uninstalling app. This will also remove the app after the session is complete

noReset

true
false (default)

Don't reset app state before this session

orientation

LANDSCAPE 
PORTRAIT

Start in a certain orientation

udid


Unique device identifier of the connected physical device. Not relevant for virtual devices.

Note

This capability is optional. If not set and device is running a non-iOS OS, the Appium infrastructure will be used. For iOS devices, refer to this article to determine the infrastructure used.

Perfecto extensions

General Settings

Capability

Value

Description

autoInstrument

true
false (default)

To work with hybrid applications, install the iOS/Android application as instrumented.

When set to 'true' the iOS/Android application is instrumented before it is installed.

baseAppiumBehavior

YES
NO (default)

This capability selects whether to use the basic behavior of Appium in cases that Perfecto offers alternative behavior (may be expanded in the future with different behaviors):

YES – An element is considered visible if that element's frame is inside the screen frame and also the element is hittable.
NO - Default behavior (Perfecto) – An element is considered visible if that element's frame is inside the screen frame.

dataReset

true (default)
false

When re-installing an application all data associated with the application will be deleted and application will start with a clean slate. If set to false - data will not be deleted and the updated application will continue in the context of the existing data.

scriptName


The script report and report folder names.

Note: Script name should not include a blank character.

screenshotOnError

true
false (default)

Screenshots for report are generated only for error conditions. This capability takes priority over the takesScreenshot capability.

sensorInstrument

true
false (default)

To work with sensor input (for example fingerprint simulation, or image injection) install the iOS/Android application as instrumented.

When set to 'true' the iOS/Android application is instrumented before it is installed.

takesScreenshot

true (default)
false

Takes screenshots to display in the report. Relevant only if screenshotOnError is false.

waitForPageLoad

true
false (default)

Indicates whether the driver.get(url) method of Selenium returns synchronously, i.e. only after the page is loaded, or asynchronously (default), i.e. immediately after sending the request and before the page is actually loaded in the browser.

Android

Capability

Value

Description

appActivity


Activity name for the Android activity you want to launch from your package. This often needs to be preceded by a . (for example .MainActivity instead ofMainActivity)

appPackage


Java package of the Android app you want to run

appWaitActivity


Activity name for the Android activity you want to wait for

appWaitPackage


Java package of the Android app you want to wait for

intentAction

(default 
android.intent.action.MAIN)

Intent action which will be used to start activity

intentCategory

(default
android.intent.category.LAUNCHER)

Intent category which will be used to start activity

intentFlags

(default 0x10200000)

Flags that will be used to start activity

optionalIntentArguments


Additional intent arguments that will be used to start activity. See Intent arguments.

securedScreenInstrument

true | false (default false)

Set to true to turn on instrumentation of secured screens on Android 12 devices. In this case, calls on the app that use FLAG_SECURE will be removed (only setFlags() and addFlags() methods that use FLAG_SECURE are affected), and secured screens will be visible in the installed app.

iOS 

Capability

Value

Description

bundleId


Bundle ID of the app under test. Useful for starting an app on a real device or for using other caps which require the bundle ID during test startup

processArguments


Arguments to pass to the AUT using instruments

language


Sets the iOS device language for the duration of the script

locale


Sets the iOS device region settings for the duration of the script

Note

Both language and locale expect a ‘locale identifier’ as a value. These capabilities are applicable to iOS devices that support the XCUITest framework.

Appium open source capabilities

In addition, Perfecto supports the list of Appium server capabilities. To reference these, click here.