Supported Appium capabilities
Use capabilities to select the device, start applications, and control the Perfecto Appium server.
General settings
Capability |
Value |
Description |
---|---|---|
|
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. |
|
Java.String object |
Specifies which Appium version to use when initializing a device. You may also switch between versions during test execution. If you work with an Appium 2-compliant client, you also need to provide the To use this capability, include the following in your tests: Copy
where the second parameter is of type Copy
Example 1
Copy
Example 2
Note:
|
|
autoLaunch |
true (default) |
Specifies whether to have Appium install and launch the app automatically. |
automationName |
Appium (default), XCUITest, |
Specifies the 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:
|
browserName |
Chrome |
Name of mobile web browser to automate. Note:
For application testing, use an empty string. |
true (default) |
Controls the Appium architecture used. See also useAppiumForWeb. For details, see New architecture for Appium testing on Android and New architecture for Appium web and hybrid testing on iOS. |
|
fullReset |
true |
Resets the app state by uninstalling the app. This will also remove the app after the session is complete. Note:
To achieve the desired outcome, be aware that the Perfecto extension
|
noReset |
true |
Don't reset app state before this session. |
orientation |
LANDSCAPE |
Starts the device in a certain orientation. |
udid |
|
Unique device identifier of the connected physical device. Not relevant for virtual devices. |
Appium 2 capabilities
Going forward, the internal driver version will be used to configure Appium, as shown in the following table.
For migration information, see the Appium documentation: Migrating to Appium 2.x from Appium 1.x
Capability |
Value |
Description |
---|---|---|
automationVersion |
For iOS: For Android: |
Determines which version of the specified driver should be used. If this capability is set, it overrides the appiumVersion capability. For iOS:
For Android:
|
Perfecto extensions
General Settings
Capability |
Value |
Description |
---|---|---|
autoInstrument |
true |
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. |
YES |
Note:
Only applicable when working with Appium versions prior to 1.22.3. This capability selects whether to use the basic behavior of Appium in cases where 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 the element is hittable. |
|
true (default) |
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 |
Screenshots for report are generated only for error conditions. This capability takes priority over the takesScreenshot capability. |
sensorInstrument |
true |
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) |
Takes screenshots to display in the report. Relevant only if screenshotOnError is false. |
true |
Sets the flow for using objects in Safari/Chrome to match Appium's precise flow. Works in tandem with the enableAppiumBehavior capability. For details, see New architecture for Appium testing on Android and New architecture for Appium web and hybrid testing on iOS. |
|
waitForPageLoad |
true |
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 |
Intent action which will be used to start activity |
intentCategory |
(default |
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 |
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 |
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.