Selecting multiple cloud devices at launch time
It is important to test mobile web applications on different cloud devices (smartphones, tablets, phablets, etc.) to ensure that it behaves in a consistent and correct manner on all of them. TestArchitect allows an automated test to run on multiple cloud mobile devices concurrently.
In order to select multiple cloud devices at launch time concurrently, you need to specify necessary desired capabilities in a file, which conforms to JSON format.
- Ensure that the number of rented cloud devices, which would run test concurrently, is available.
- You can learn more about JSON syntax here.
To facilitate this process, TestArchitect provides predefined JSON templates for common cloud providers.
Carry out the following steps:
Depends on your specific cloud provider, download a corresponding JSON template, provided by TestArchitect. For example, below items are common cloud providers.
Open the downloaded JSON template file, and then modify the following desired capabilities that would fit your organization’s needs.
URL Appium server of the given cloud service (the URL capability)
A unique name for each cloud device. Name of the executed cloud device will appear on test results.
{"<device_Name>": {"<desired_Capabilities>":"<value>"}}
list of desired capabilities desired capabilities that would fit your organization’s needs.
Tip:Each set of desired capabilities represents a single cloud device.
Notes:See the Desired Capabilities documentation for the list of capabilities available for Appium.For example:
- You’d like to call two concurrent cloud devices including one Android and one iOS to run your automated tests on Sauce Labs.
- Your JSON file might resemble the following.
[ { "Cloud Device 1": { "URL": "http://joedoe:[email protected]:80/wd/hub", "browserName": "Safari", "deviceName": "iPhone 7 Simulator", "platformName": "iOS", "newCommandTimeout": "600", "platformVersion": "10.3", "appiumVersion": "1.6.5" } }, { "Cloud Device 2": { "URL": "http://joedoe:[email protected]:80/wd/hub", "browserName": "chrome", "deviceName": "Android Emulator", "platformVersion": "6.0", "platformName": "android", "newCommandTimeout": "600" } } ]
Save your JSON file.
In TestArchitect Client, select the test module you want to run, and then click Execute on the TestArchitect toolbar.
In the Controllers/Devices panel, click the Select Controllers and Devices button.
The Select Controller/Device dialog box appears.
In the dialog box, select a controller to which cloud devices will be attached.
The controller will be in charge of distributing automated tests to cloud devices which satisfy all defined desired capabilities. The controller will also receive test results returned from the cloud devices.
The Add desired capabilities file text is now enabled.
Click Add desired capabilities file to load a JSON file which defines desired capabilities.
In the Select dialog box, browse to the location of your JSON file, and then click the Select button.
Restriction:Only JSON files are accepted.The JSON file is now loaded into the list of available cloud providers and appears as a tree node. The name of the tree node is automatically obtained from the JSON filename.
Tip:To remove the unnecessary JSON file, right-click the node, and then select Remove.
To replace the current JSON file with another file, right-click the node, and then select Edit.
On the Select Controller/Device dialog box, click OK.
The JSON filename is displayed next to the Selected Desired Capabilities file text.
On the Execute Test dialog box, select Execute to execute the automated test on cloud devices which satisfy your defined desired capabilities.
The automated tests are run on target cloud devices. On test results, you will also see the name of the cloud device and the full path to JSON file, which defines target cloud devices.