Available capabilities

This page lists the capabilities that can be used when creating an automation session in Kobiton.

Capabilities control how an Appium session starts, including device selection, application configuration, and session metadata.

Kobiton supports both standard Appium capabilities and additional Kobiton-specific capabilities.

  • Kobiton capabilities extend Appium functionality and must include the kobiton: vendor prefix when used with Appium 2.

  • Appium capabilities follow standard Appium conventions but may have additional behavior when used with Kobiton devices.

Examples in this reference use the Appium Java client syntax.

The kobiton:visualValidation capability is deprecated.

Kobiton Capabilities

Kobiton provides additional capabilities that extend standard Appium functionality. These capabilities must include the kobiton: vendor prefix when used with Appium 2.

Example:

capabilities.setCapability("kobiton:sessionName", "Login test");

Capabilities with the kobiton: prefix cannot be used without the prefix.

kobiton:baselineSessionId

This capability cannot be used in Basic Appium 2 sessions.

Select a baseline session to use for kobiton:flexCorrect.

Example
capabilities.setCapability("kobiton:baselineSessionId", 0000011);

kobiton:captureScreenshots

This is not available for native and hybrid apps, as well as devices on Android 6.0 and earlier.

Screenshots will be captured after each test step automatically. They’ll be available in the session overview after the test session.

  • Type: boolean

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("captureScreenshots", true);

kobiton:deviceGroup

The device group within the test session metadata.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("deviceGroup", "ORGANIZATION");

kobiton:deviceTags

Select devices for the automation session using device tags.

When this capability is used, Kobiton searches for devices that have the specified tag or tags assigned. The session runs on a device that matches the provided tags and any additional capability filters.

Tags can be Org (available for the whole org) or Me (only for the creator).

  • Type: 2-dimensional string array

  • Required capabilities: None

  • Optional capabilities: kobiton:deviceTagType

  • Behavior: By default, returns matching device(s) with both Org and Me tags. Set kobiton:deviceTagType to filter by a single tag type.

Follow 2-dimensional string array formats when specifying tags:

  • Single group with a single tag: [["healthy"]]

  • Single group with multiple tags (OR within group): [["project","dev"]]

  • Multiple groups (AND across groups): [["project","dev"],["healthy"]]

  • Multiple nested layers such as [["project", ["dev", "test"]],["healthy"]] are not supported.

Do not provide an empty value for kobiton:deviceTags. An empty value may cause session creation to fail.
If no device selection capability is provided (such as deviceName, udid, or kobiton:deviceTags), Kobiton may not be able to determine a target device for the session.

See the below examples of how to use 2-dimensional string array formats for different programming languages.

Java and .NET(C#) Example
// Single group with a single tag
capabilities.setCapability("kobiton:deviceTags", new String[][] { new String[] { "healthy" } });
// Single group with multiple tags (OR within group)
capabilities.setCapability("kobiton:deviceTags", new String[][] { new String[] { "project", "dev" } });
// Multiple groups (AND across groups)
capabilities.setCapability("kobiton:deviceTags", new String[][] { new String[] { "project", "dev" }, new String[] { "healthy" } });
NodeJS Example
var desiredCaps = {
    'kobiton:deviceTags': [["project", "dev"], ["healthy"]],
}

kobiton:deviceTagType

If kobiton:deviceTags is provided, set to either private (Me tag) or public (Org tag) to filter devices by a single tag type. If not set, returns matching device(s) with both tag types.

  • Type: string

  • Required capabilities: kobiton:deviceTags

  • Optional capabilities: None

capabilities.setCapability("kobiton:deviceTagType", "public");

kobiton:flexCorrect

This capability cannot be used in Basic Appium 2 sessions.

Automatically correct element selection when running a script on different devices. For more information, see Add flexCorrect to capabilities

Example
capabilities.setCapability("kobiton:flexCorrect", true);

kobiton:groupId

The group ID within the test session metadata. This affects the cleanup behaviours of the device at session end if the assigned group has a custom cleanup policy.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("groupId", "0011");

kobiton:sessionDescription

The description of the test session, typically between 50-72 characters, but can be set to any length.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("sessionDescription", "This tests the login feature with biometric authentication."); // Provide the test session description.

kobiton:sessionName

The name of the test session.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("sessionName", "Automation test session"); // Specify the test session name.

kobtion:sessionTags

This capability was previously kobiton:tags.

Although kobiton:tags can still be used, we recommend using the new capability name to avoid confusion with kobiton:deviceTags.

Categorize and organize sessions by assigning a custom tag at the time of session creation.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("kobiton:sessionTags", ["nightly-run", "login-flow", "regression"]);

kobiton:useConfiguration

The network payload capture configuration to use during the test session. See this article to learn more.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("useConfiguration", "kobiton");

kobiton:workApp

Before using this capability, the Work Profile app must be installed and configured.

Launch a Work Profile app using the name shown in the app drawer (case-sensitive). Only 1 Work Profile app can be launched in a session. This capability cannot be used in Basic Appium 2 sessions.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("kobiton:workApp", "Firefox");

The following capabilities are ignored when using kobiton:workApp:

  • app

  • appium:appPackage

  • appium:appActivity

Appium Capabilities

Kobiton supports most standard Appium capabilities. The capabilities listed below are commonly used when running automation sessions on Kobiton devices.

For Basic Appium 2 sessions, follow the Appium 2 guidelines for vendor prefix.

accessKey

The Kobiton Kobiton API key to authenticate the automation session.

  • Type: string

  • Required capabilities: 'appium:username'

  • Optional capabilities: None

Example
capabilities.setCapability("appium:accessKey", "ac9****8b-5*fc-4485-82eb-c5b****baed");

app

The application used during the test session. If the app is not already installed on the device, Kobiton downloads and installs it using the provided value. Only available for app testing.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
// Install the app using the Kobiton app repository.
capabilities.setCapability("app", "kobiton-store:000111");

// Install the app using a direct download link.
capabilities.setCapability("app", "https://kobiton.docsapp.net/apps/app_id");

autoWebview

Automatically switch to the WebView context when it becomes available.

  • Type: boolean

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("appium:autoWebview", true);

browserName

The browser used during the test session.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("browserName", "safari");
capabilities.setCapability("browserName", "chrome");

deviceName

The device name used when selecting a device for the session. Wildcards (*) can be used to match multiple devices.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("deviceName", "iPhone 11 Pro");

// Use any device name ending with 'Pro'.
capabilities.setCapability("deviceName", "*Pro");

// Use any device name starting with 'iPhone 11'.
capabilities.setCapability("deviceName", "iPhone 11*");

deviceOrientation

The starting orientation of the device screen.

  • Type: integer

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("appium:deviceOrientation", "portrait");

capabilities.setCapability("appium:deviceOrientation", "landscape");

fullReset

Remove all apps installed during the test session. To keep the apps and only remove their data, use noReset. Only available for private devices.

  • Type: boolean

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("appium:fullReset", true);

noReset

Remove application data but keep the installed app. To completely remove the app, use fullReset. Only available for private devices.

  • Type: string

  • Required capabilities: None

  • Optional capabilities: None

Example
capabilities.setCapability("appium:noReset", false);

platformName

The type of platform, i.e Android or iOS.

  • Type: boolean

  • Required capabilities: None

  • Optional capabilities: None

udid

The unique device identifier (UDID) of the device used for the session.

  • Type: string

  • Required capabilities: None

Example
capabilities.setCapability("appium:udid", "01234567-89ab-cdef-0123-456789abcdef");

username

The Kobiton username used for authentication.

  • Type: string

  • Required capabilities: 'appium:accessKey'

  • Optional capabilities: None

Example
capabilities.setCapability("appium:username", "johndoe");