AWS – Device Farms Integration
Last updated
Last updated
In order to create access keys for execution on AWS, follow the steps given below:
Log in to the AWS console successfully.
In the navigation bar on the upper right, click your user name, and then choose My Security Credentials.
3. Click on the ‘Access keys’ section.
4. Click on the ‘Create New Access Key’ button to generate the access keys.
5. Choose ‘Show Access Key’ to view it, then copy the keys to somewhere else for safekeeping. OR
6. Choose ‘Download Key File’ to save the access key ID and secret access key to a .csv file at a secure location on your computer.
In the client package provided for Avo Assure, the following changes should be made to enable execution of mobile test scenarios on AWS device farm:
Change only the values for the keys mentioned below in AWS_config.json file which resides at – ‘AvoAssure\assets\AWS_assets’:
"projectname": <<existing_project_name>>
"poolname": <<existing_device_pool_of_the_project_specified>>
2. Open the credentials file as a text file in any text editor from the following location – ‘AvoAssure\assets\AWS_assets\config’. Enter the acquired access keys as values for the respective keys.
Log in as a valid Avo Assure user who has been assigned projects of application type - ‘Mobile App’.
Navigate to any execution task which is of ‘Mobile App’ type.
Note:
For a successful execution on AWS, make sure that the test steps within the selected execution task are AWS compatible.
This can be done by debugging each test case within the selected execution task.
By debugging the test cases involved, the user is notified (if there are any test steps that are not AWS compatible) in the ICE logs.
The user can then, comment on the incompatible test steps and execute the task on AWS for a successful run.
3. Click the ‘AWS’ icon from the ‘Execute On’ options.
4. Click on the ‘Execute’ button. An overlay will be displayed with the following message on the Avo Assure web tool:
5. The following details will be displayed on ICE during the AWS execution:
6. Once, the execution is completed/terminated, the user is prompted with a dialog box to go to the ‘Reports’ plugin.
7. After execution completes, logs similar to the following are displayed on ICE:
Log in to the AWS console successfully.
Navigate to ‘Device Farm’ service.
Click on the project name in which the execution was run (which was specified in the AWS_config.json file).
The user will be able to see the execution entry in the ‘Automated tests’ tab with an auto-generated name (with date-time of run) specified for the run.
5. Click the execution entry.
6. Select the device of which the test execution needs to be validated.
7. After selecting the device, the user can go through the various results generated by AWS in sections Video, Suites, Test specification log, Logs, Performance, Files, and Screenshots.
Note: Refer to the logs section for a detailed test steps report.
After successful AWS execution of mobile test scenarios using Avo Assure, the results are downloaded for the Avo Assure user in the client package for ease of access.
After AWS execution completes, an ‘output’ folder is created in the ‘AvoAssure\assets\AWS_assets’ location.
This ‘output’ folder will consist of downloaded files (Customer Artifacts.zip, Test spec output.txt, and Video.mp4) from AWS. Also, the user is notified about the download, in the ICE console.
Usage of dynamic variables across test steps is not implemented.
As AWS takes only one application per run, the keyword – ‘launchApplication’ is considered at its first occurrence in the test suite. All subsequent ‘launchApplication’ keywords in the test suite are ignored.
Only two Generic keywords are supported currently- createDynVariable and wait. The implementation of other Generic Keywords to be supported on AWS is a work in progress.
The following keywords which belong to mobile scripting are not AWS compliant:
5. Integration of AWS reports on Avo Assure web ‘Reports’ plugin is a work in progress.
verifyDate
GetMultipleViewsByIndexes
GetValue
closeApplication
GetSelectedViews
SetValue
getDevices
GetViewByIndex
GetSlideValue
VerifyTime
SelectMultipleViewsByIndexes
SetSlideValue
installApplication
SelectMultipleViewsByText
CellClick
invokeDevice
SelectViewByIndex
GetCellValue
stopServer
SelectViewByText
GetRowCount
uninstallApplication
VerifyAllViews
VerifyCellValue
VerifyRowCount
VerifyListCount
SetNumber
GetAllViews
VerifySelectedViews
GetListCount