AWS Device Farm – Mobile App Testing on Real Devices

This is an explanation of Amazon Device Farm and how it works for iOS and Android devices. It allows users to create a project, identify an application, and configure and run a test. You can use it to test mobile apps on real devices.

Amazon Device Farm allows you to test your apps in parallel against a large collection of physical devices that you can choose from the AWS Cloud. This helps to improve the quality of your app.

The test runs that are performed in farm can be one of two types: manual test run and automated test run. Manual test run can be run by remote access; we can select a device and do all of the testing manually. In an automated test run, testing can be done by creating a new test run and performing all of the testing by importing the test suite and application for iOS or Android in the device farm.

The list below contains the test types on various platforms:

For Android:

  • Appium Java Junit
  • Appium Java TestNG
  • Calabash
  • Instrumentation
  • UI Automator
  • Explorer

For iOS:

  • Appium Java Junit
  • Appium Java TestNG
  • Calabash
  • UI Automation
  • XCTest (including KIF)

For web apps:

  • Appium Java Junit
  • Appium Java TestNG

How to set up a new project and test run (Manual Test):

Log in to AWS, go to Device Farm, and select the “Device Farm” service.

aws1

Click on ‘Create New Project.’

aws2

Enter your Project Name in the text box and click on the “Create Project” button.

aws3

Click on a newly created project. You will be automatically redirected to “Create new run.” Click on the “Remote Access” tab and click on “Start a new session.”

aws4

Now we need to either select a device from the list given or enter a device on which we want to test our application. We can select any iOS or Android device.

aws5

After selecting a device, we need to “Confirm and start session.”

aws6

It takes a while for Device Farm to make the device available for testing. Then the set up process takes place for requesting a device.

aws7

Once the devices become available, we can see the screen and access it through the Console. Now we need to upload the APK file or IPA file from the Upload option – located on the right – to see the application through Console and test it.

aws8 aws9

We can test the app manually by performing the basic gestures and clicking on the functions.

We can perform a testing of the app by executing all of the test cases and see the results.

 

Features and Advantages

  • AWS Device Farm tests are run on real, non-rooted devices
  • The remote Access results contain logs and a video of the session
  • The default orientation of devices can be switched between portrait (vertical) and landscape (horizontal) mode
  • Device Farm stores reports for 400 days

Disadvantages

  • Access of devices is slow
  • Sometimes requested devices take a lot of time to become available
  • Device connection in between testing gets disconnected
  • No option to simulate common gestures like Zoom In, Zoom Out, shake etc. in ADF
  • There is a sixty-minute limit length for a remote access session. After sixty minutes, we have to create a new session and add devices to proceed further
  • There is no confirmation message displayed if an app is finished installing in a device
Simranjeet Kaur

Simranjeet Kaur

Simranjeet Kaur is Senior QA Engineer at the 3Pillar Global Noida office. Her current areas of expertise include manual testing, agile methodologies, and functional testing. Prior to joining 3Pillar, she had worked for Mercer India PVT ltd. and Accenture Services ltd.

Leave a Reply

Related Posts

Take 3, Scene 17: The Value of Data Analytics Dan Greene and Adi Chikara join us for this episode of Take 3 to discuss the value of Data Analytics for making sense of the massive amounts of data t...
Take 3, Scene 13: Redux Your React On this episode of Take 3, we take a look at the React development library and how it pairs with the Flux pattern Redux. Vlad Zelinschi and Cassian Lu...
Take 3, Scene 14: The Present and Future of Angular 2, Part ... On this two-part episode of Take 3, Cassian Lup and Andrei Tamas join us all the way from Romania to discuss the newest iteration of the AngularJS fra...
Take 3, Scene 14: The Present and Future of Angular 2, Part ... On the second part of this two-part episode of Take 3, we continue our conversation with Cassian Lup and Andrei Tamas on the newest iteration of the A...
Spell Check and Autocorrect with Conditional Probability A client of mine wanted to reduce the time it took for his vendors to upload an inventory list to his system. The system currently matches the product...

Free product development tips delivered right to your inbox