Connecting to Mobile Device Clouds and Opening Testing Sessions

Applies to TestComplete 14.74, last modified on April 22, 2021

Before you start creating and running automated tests for a mobile application running in a mobile device cloud, connect TestComplete to the cloud and open a testing session there.

Prerequisites

Before connecting to the device cloud and opening a testing session there, make sure that all requirements and prerequisites are met:

To open a testing session

In the BitBar device cloud

From the Object Browser
  1. In TestComplete, open the Object Browser.

  2. In the object tree, right-click the top-level Mobile item and then click Connect to Device. TestComplete will open the Connect to Device dialog.

  3. If the current TestComplete project does not have a BitBar API key specified, to connect to the BitBar device cloud dialog, enter the API key.

    Learn how to get the API key

  4. On the Parameters tab, select the mobile device and a tested application for which you want to open a testing session.

    The Found devices list contains all the devices that are available for you in BitBar and that match the search criteria. If needed, you can filter the list by using the Device Type, OS Version, Resolution and Quick Search filters. Select the device to which you want to connect.

  5. In the Application drop-down list box, select a mobile application for which you want to open a testing session. The application file must be either stored in the BitBar Files Library or added to the Tested Applications of the current TestComplete project. In the latter case, click Upload to BitBar to upload the application file to the BitBar Files Library and then select it in the list.

  6. If needed, on the Custom parameters tab, you can specify additional capabilities to be used for the testing session. Specify the capabilities in the JSON format. For example:

    JSON

    {
      "bitbar_project": "Automated tests",
      "bitbar_description": "Testing the Orders app"
    }

    The dialog will validate the JSON code as you are typing it.

    For the list of available capabilities, see the BitBar Documentation - Desired Capabilities.

  7. Click OK.

From a script test

Use the Mobile.ConnectDevice method to connect to the BitBar device cloud. You can write the code manually, or you can use the Generate Run Code dialog:

  1. Click on the Code Editor toolbar.

  2. If there is no BitBar API key specified in the current TestComplete project, enter the key.

    Learn how to get the API key

  3. In the resulting Generate Run Code dialog, select the mobile device and the tested application for which you want to open a testing session.

    The application file must be either added to the BitBar Files Library or to the Tested Applications collection of the current TestComplete project.

  4. Copy the code that the dialog generates and insert it into your script test.

Adding code that connects to BitBar and opens a testing session

Click the image to enlarge it.

The example below shows a code snippet that connects to a mobile device in the BitBar cloud and opens a testing session on it:

JavaScript

function Connect_BitBar()
{
  var server = "https://appium.bitbar.com/wd/hub/";
  var capabilities = {
    "platformName": "android",
    "deviceName": "Android Phone",
    "automationName": "Appium",
    "bitbar_target": "android",
    "bitbar_device": "Samsung Galaxy A7 SM-A700F",
    "bitbar_app": "123",
    "newCommandTimeout": 600
  };
  Mobile.ConnectDevice(server, capabilities);

}

Python

def Connect_BitBar():
  server = "https://appium.bitbar.com/wd/hub/"
  capabilities = {
    "platformName": "android",
    "deviceName": "Android Phone",
    "automationName": "Appium",
    "bitbar_target": "android",
    "bitbar_device": "Samsung Galaxy A7 SM-A700F",
    "bitbar_app": "123",
    "newCommandTimeout": 600
  };
  Mobile.ConnectDevice(server, capabilities)

VBScript

Sub Connect_BitBar
  capabilities = "{""platformName"":""ANDROID"",""bitbar_target"":""android"", ""bitbar_device"":""Samsung Galaxy A7 SM-A700F"",""deviceName"":""Android Phone"",""automationName"":""Appium"",""bitbar_app"":""123"",""newCommandTimeout"":600}"
  server = "https://appium.bitbar.com/wd/hub/"
  Call Mobile.ConnectDevice(server, capabilities)
End Sub

DelphiScript

procedure Connect_BitBar();
var server, capabilities;
begin
  capabilities := '{"platformName":"ANDROID","bitbar_target":"android","bitbar_device":"Samsung Galaxy A7 SM-A700F","deviceName":"Android Phone","automationName":"Appium","bitbar_app":"123","newCommandTimeout":600}';
  server := 'https://appium.bitbar.com/wd/hub/';
  Mobile.ConnectDevice(server, capabilities);
end;

C++Script, C#Script

function Connect_BitBar()
{
  var capabilities = "{\"platformName\":\"ANDROID\",\"bitbar_target\":\"android\",\"bitbar_device\":\"Samsung Galaxy A7 SM-A700F\",\"deviceName\":\"Android Phone\",\"automationName\":\"Appium\",\"bitbar_app\":\"123\",\"newCommandTimeout\":600}";
  var server = "https://appium.bitbar.com/wd/hub/";
  Mobile["ConnectDevice"](server, capabilities);
}
From a keyword test

Currently, TestComplete does not have operations for working with the BitBar device cloud. However, you can connect to the cloud and start the session in it by calling the code described above by using the Run Code Snippet, Call Object Method, or Run Script Routine operation. For example:

Connecting to the BitBar mobile device cloud from a keyword test

Click the image to enlarge it.

In a private mobile device cloud

From the Object Browser
  1. In TestComplete, open the Object Browser.

  2. In the object tree, right-click the top-level Mobile item and then click Connect to Device.

  3. In the resulting Connect to Device dialog, click Local Appium.

  4. In the Parameters editor, enter the capabilities that describe a testing session you want to open, in the JSON format. The dialog will validate the JSON code as you are typing.

    View required capabilities

    For information on all available capabilities, see Appium Desired Capabilities.

  5. Click OK.

From a script test

Write script code that will connect to your mobile device cloud and start a testing session there. You can write the code manually, or you can use the Generate Run Code dialog:

  1. Click on the Code Editor toolbar.

  2. In the resulting Generate Run Code dialog, click Local Appium.

  3. In the Server URL text box, enter the URL address of your Appium server.

  4. In the Application Path text editor, specify the full path to the application that you want to install on the target mobile device and from which you want to open a testing session. You can type the path manually, or you can click the ellipsis button and browse for the needed application file.

  5. In the Parameters editor, enter the capabilities that describe a testing session you want to open, in the JSON format. The dialog will validate the JSON code as you are typing.

    View required capabilities

    For information on all available capabilities, see Appium Desired Capabilities.

  6. Copy the code that the dialog generates and insert it into your script test.

Adding code that connects to a private Appium server and opens a testing session

Click the image to enlarge it.

The example below shows a code snippet that connects to a mobile device managed by a private Appium server and opens a testing session on it:

JavaScript

function Connect_Android_Appium()
{
  var server = "http://my_appium_server:4723/wd/hub";
  var capabilities = {
    deviceName: "MyAndroidDevice",
    platformVersion: 10,
    platformName: "android",
    automationName: "UIAutomator2",
    app: "/tests/MyApp.apk",
    newCommandTimeout: 600
  };

  Mobile.ConnectDevice(server, capabilities);

}

Python

def Connect_Android_Appium():
  server = "http://my_appium_server:4723/wd/hub"
  capabilities = {
    "deviceName": "MyAndroidDevice",
    "platformVersion": 10,
    "platformName": "android",
    "automationName": "UIAutomator2",
    "app": "/tests/MyApp.apk",
    "newCommandTimeout": 600
  }

  Mobile.ConnectDevice(server, capabilities)

VBScript

Sub Connect_Android_Appium()
  server = "http://my_appium_server:4723/wd/hub"
  capabilities = "{""deviceName"":""MyAndroidDevice"",""platformVersion"":10,""platformName"":""android"",""automationName"":""UIAutomator2"",""app"":""\/tests\/MyApp.apk"",""newCommandTimeout"":600}"
  Call Mobile.ConnectDevice(server, capabilities)

End Sub

DelphiScript

procedure Connect_Android_Appium();
var server, capabilities;
begin
  server := 'http://my_appium_server:4723/wd/hub';
  capabilities := '{"deviceName":"MyAndroidDevice","platformVersion":10,"platformName":"android","automationName":"UIAutomator2","app":"\/tests\/MyApp.apk","newCommandTimeout":600}';

  Mobile.ConnectDevice(server, capabilities);
end;

C++Script, C#Script

function Connect_Android_Appium()
{
  var server = "http://my_appium_server:4723/wd/hub";
  var capabilities = "{\"deviceName\":\"MyAndroidDevice\",\"platformVersion\":10,\"platformName\":\"android\",\"automationName\":\"UIAutomator2\",\"app\":\"\\/tests\\/MyApp.apk\",\"newCommandTimeout\":600}";
  Mobile["ConnectDevice"](server, capabilities);

}
From a keyword test

Currently, TestComplete does not have operations for working with the mobile device clouds. However, you can connect to the server and start the session by calling the code described above by using the Run Code Snippet, Call Object Method, or Run Script Routine operation. For example:

Connecting to an Appium automated testing session from a keyword test

Click the image to enlarge it.

After the session is open

Your tested mobile application will become available to TestComplete. You can:

Disconnecting from the server

When you no longer need to be connected to the mobile device cloud, you can terminate the testing session and disconnect from the cloud.

From a script test

To close the session, use the Mobile.Device(DeviceName).Disconnect method.

From a keyword test

Call the Mobile.Device(DeviceName).Disconnect method from your test by using the Call Object Method, Run Code Snippet, or Run Script Routine operation.

See Also

About Running Mobile Tests in Mobile Device Clouds

Highlight search results