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
-
In TestComplete, open the Object Browser.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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:
-
Click
on the Code Editor toolbar.
-
If there is no BitBar API key specified in the current TestComplete project, enter the key.
-
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.
-
Copy the code that the dialog generates and insert it into your script test.
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
{
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
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
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
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
{
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:
In a private mobile device cloud
From the Object Browser
-
In TestComplete, open the Object Browser.
-
In the object tree, right-click the top-level Mobile item and then click Connect to Device.
-
In the resulting Connect to Device dialog, click Local Appium.
-
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.
For information on all available capabilities, see Appium Desired Capabilities.
-
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:
-
Click
on the Code Editor toolbar.
-
In the resulting Generate Run Code dialog, click Local Appium.
-
In the Server URL text box, enter the URL address of your Appium server.
-
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.
-
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.
For information on all available capabilities, see Appium Desired Capabilities.
-
Copy the code that the dialog generates and insert it into your script test.
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
{
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
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
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
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
{
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:
After the session is open
Your tested mobile application will become available to TestComplete. You can:
-
Explore your tested application in the Object Browser.
-
View the application and interact with it via the Mobile Screen window.
-
Access your mobile device, your tested application, and objects in the application from your tests and simulate user actions over them. To learn more, see Creating and Running Tests for Mobile Applications Running in Mobile Device Clouds.
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.