Appium Capabilities

This page lists common capabilities for Appium tests in webmate. Capabilities configure the test execution environment, the selected device, the app under test, and webmate-specific test metadata.

The following sections document common Appium and webmate capabilities. You can also send additional Appium capabilities when they are supported by the selected Appium driver and are not blocked by webmate. You might also want to have a look at the latest published W3C WebDriver Draft (opens in a new tab) .

Blocked Appium Capabilities

webmate controls device selection, driver ports, signing settings, WebDriverAgent settings, UiAutomator2 settings, and app package upload through its own infrastructure and wm: capabilities. For that reason, Appium capabilities matching the following regular expressions are blocked:

Blocked pattern
appium:chromedriver.*
appium:udid
appium:port
appium:deviceName
appium:xcodeOrgId
appium:xcodeSigningId
appium:updatedWDABundleId
appium:wda.*
appium:uiautomator2.*
appium:app

Use the documented wm: capabilities for device, slot, project, and app package selection instead.

appium:appPackage: (Android only)

Specifies the package name of the app to be tested, such as com.xxx.xxx. The app must already be installed on the device. For the instrumented version of the app, append .instrumented to the package name.

appium:appActivity (Android only)

Defines the app activity that should be executed when the test starts, such as com.xxx.xxx.MainActivity.

appium:bundleId (iOS only)

Indicates the bundle ID of the app being tested, for example com.testfabrik.example. If you are testing an instrumented version, prefix the bundle ID with instrumented..

appium:orientation

Specifies the device orientation before the session starts. Accepted values are LANDSCAPE or PORTRAIT.

appium:platformVersion

Indicates the version of the operating system (iOS/Android) to use. Example: 11.

appium:appWaitActivity (Android only)

Defines the first activity launched by the app (e.g., com.xxx.xxx.SplashActivity). Set this if it differs from appium:appActivity. Defaults to the value of appium:appActivity.

appium:appWaitPackage (Android only)

Specifies the package of the app launched first. If it differs from appium:appPackage, set this value. Defaults to the value of appium:appPackage.

appium:appWaitDuration (Android only)

Sets how long (in ms) to wait for the appWaitPackage/appWaitActivity to be focused. Default is 20000.

appium:intentAction (Android only)

Optional setting to specify a custom intent action, such as com.xxx.xxx.intents.Start. Defaults to android.intent.action.MAIN.

appium:intentCategory (Android only)

Optional setting to define a custom intent category, such as com.xxx.xxx.intents.Launcher.

appium:intentFlags (Android only)

Specifies optional intent flags during app start. Default is 0x10200000.

appium:optionalIntentArguments (Android only)

Allows optional arguments to be passed to the intent at app start. For instance: –ez LOG_CONFIG true.

appium:locale

Sets the locale for the app under test (e.g., DE, US). Requires appium:language to also be set. Defaults to the current OS locale.

appium:language

Sets the language for the app under test (e.g., de, en). Requires appium:locale to also be set. Defaults to the current OS language.

platformName

Specifies he operating system for testing, such as “Android” or “Android_11”.

version

Denotes he Appium version being used for testing. Example: 1.21.0.

wm:apikey

Your API key for authenticating in webmate. This capability is mandatory. Example: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=.

wm:autoScreenshots

If set to true, automatically captures screenshots during key actions like NavigateTo, Click, SendKeys, and TakeScreenshot. Default is false.

wm:email

Your email address for authentication in webmate. This is a required capability. Example: xxx@xxx.com.

wm:installPackage

Provides the webmate package ID of the app to be installed. If omitted, no installation occurs.

wm:model

Specifies the device model to be deployed for the test. Example: Pixel 4.

wm:name

Sets the name of the test as shown in the test lab. Default value is “Unnamed Selenium Test”.

wm:project

Sets the project ID in which the test should be executed. Example: 7c4f09fd-xxx-xxx-xxx-xxx. Defaults to the user’s default project.

wm:protractor_native_appium_hack

Optional setting that activates compatibility mode for Protractor users. Helps avoid issues caused by Protractor’s limitations in testing native mobile apps. Default is false.

wm:sessions

Assigns the test to a named or identified webmate test session. If a session with the given name exists, the test is added to it; otherwise, a new session is created.

wm:slot

Specifies the UUID of a device slot for test deployment. If a compatible device is already in the slot, it is reused. Otherwise, the request is queued or a suitable device is chosen automatically.

wm:tags

A comma-separated list of tags (e.g., “sprint=42, tag2”) to associate with the test. Tags with = are treated as key-value pairs.

wm:useproxy

When set to true, a proxy is deployed. This is required for certain use cases. Default is false.

wm:video

If true, a video recording of the session is created. Default is false.