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

SeeTest Cloud supports Appium Open Source Execution when any Appium Tests are run.

To use Appium Open Source, a new desired capability appiumVersion has been introduced which needs to be used by the Appium Tests.

Appium Version Capability

appiumVersion capability specifies the version of the Appium.

Currently supported versions: 1.17.0-p0, 1.17.1-p0, 1.17.1-p1, 1.18.0-p0, 1.18.1-p0, 1.18.2, 1.18.3, 1.19.0, 1.19.1, 1.20.0, 1.20.1, 1.20.2

Appium Version Desired Capability
dcIOS.setCapability("appiumVersion", "<version tag>");
dcIOS.setCapability("automationName", "XCUITest");
dcIOS.setCapability(MobileCapabilityType.PLATFORM_VERSION, "11.2.6");

Application Capability

MobileCapabilityType.APP is an existing capability that specifies the Cloud Application. It has bee extended to tp specify the application version.

It needs to follow the pattern provided below.

Cloud Appplication Desired Capability
dcIOS.setCapability(MobileCapabilityType.APP, "cloud:<Bundle ID>:<App version>");

Example:

Cloud Appplication Desired Capability
dcIOS.setCapability(MobileCapabilityType.APP, "cloud:com.experitest.ExperiBank:2435");

Complete Examples

Here are complete examples for Application and Web Test to use Appium Open Source Execution

Application Test
String MyDeviceUDID="1234567890ABCDEF";

dcIOS.setCapability("appiumVersion", "1.20.1");
dcIOS.setCapability(MobileCapabilityType.APP, "cloud:com.experitest.ExperiBank:2435");
dcIOS.setCapability("bundleId", "com.experitest.ExperiBank");
dcIOS.setCapability(MobileCapabilityType.PLATFORM_VERSION, "11.2.6");
dcIOS.setCapability("automationName", "XCUITest");
dcIOS.setCapability("deviceName", "auto");
dcIOS.setCapability("udid", MyDeviceUDID);
dc.setCapability("user", <user name>);
dc.setCapability("password", <password>);
dc.setCapability("testName", "My First Appium OSS Test");
Web Test
String MyDeviceUDID="1234567890ABCDEF";

dcIOS.setCapability("appiumVersion", "1.20.1");

dcIOS.setCapability(MobileCapabilityType.BROWSER_NAME, "Safari");

dcIOS.setCapability("automationName", "XCUITest");
dcIOS.setCapability("deviceName", "auto");
dcIOS.setCapability("udid", MyDeviceUDID);
dc.setCapability("user", getUsername());
dc.setCapability("password", getPassword());
dc.setCapability("testName", "My First Appium OSS Test");

Long-running commands limitation

There are some long-running commands in Appium, like:

driver.runAppInBackground(Duration.ofMinutes(8));


In Appium versions below 1.20 - the maximum command execution time is 10 minutes (Appium limitation)
Since Appium 1.20 - maximum command execution time is 20 minutes

The actual execution time of runAppInBackground command is longer than the provided parameter, so it can be used with 8 minutes parameter when the command execution limit is 10 minutes.

In order to use long-running commands, please increase values in these capabilities

dc.setCapability("newCommandTimeout", 900); // 15 Minutes
dc.setCapability("wdaConnectionTimeout", 900_000); // 15 Minutes (Relevant for iOS only)


  • No labels