AWS Device Farm
Developer Guide (API Version 2015-06-23)

What Is AWS Device Farm?

Device Farm is an app testing service that enables you to test and interact with your Android, iOS, and Web apps on real, physical phones and tablets that are hosted by Amazon Web Services (AWS). There are two main ways to use Device Farm:

  • Automated testing of apps using a variety of available testing frameworks

  • Remote access of devices onto which you can load, run, and interact with apps in real time

Automated App Testing

Device Farm allows you to upload your own tests or use built-in, script-free compatibility tests. Because testing is automatically performed in parallel, tests on multiple devices begin in minutes.

A test report containing high-level results, low-level logs, pixel-to-pixel screenshots, and performance data is updated as tests are completed.

Device Farm supports testing of native and hybrid Android, iOS, and Fire OS apps, including those created with PhoneGap, Titanium, Xamarin, Unity, and other frameworks. It supports remote access of Android apps for interactive testing.

Supported Test Types and Built-in Tests

Device Farm currently provides support for the following test types:

For Android:

For iOS:

For Web Apps:

If you do not have your own tests, you can use a built-in fuzz test. For more information, see Built-in: Fuzz (Android and iOS).

Remote Access Interaction

Remote access allows you to swipe, gesture, and interact with a device through your web browser in real time. There are a number of situations where real-time interaction with a device is useful. For example, customer service representatives can guide customers through how to use or set up their device. They can also walk customers through how to use apps running on a specific device. You can install apps on a device running in a remote access session and then reproduce customer problems or reported bugs.

During a remote access session, Device Farm collects details about actions that take place as you interact with the device. Logs with these details and a video capture of the session are produced at the end of the session for your review.

Initially, a limited number of Android and Fire OS devices are supported for remote access. However, the list of devices will grow during the beta period and as new devices enter the market.


Device Farm introduces the following terms that define the way information is organized:


A logical workspace that contains runs, one run for each test of a single app against one or more devices. Projects enable you to organize workspaces in whatever way you choose. For example, there can be one project per app title, or there can be one project per platform. You can create as many projects as you need.


A specific build of your app, with a specific set of tests, to be run on a specific set of devices. A run produces a report that contains information about the results of the run. A run contains one or more jobs. For more information, see Runs.


Contains information about a run, which is a request for Device Farm to test a single app against one or more devices. For more information, see Reports.


A request for Device Farm to test a single app against a single device. A job contains one or more suites.


Metering refers to billing for devices, and you may encounter references to "metered devices" or "unmetered devices" in the documentation and API reference. For more information about pricing, see AWS Device Farm Pricing.


The hierarchical organization of tests in a test package. A suite contains one or more tests.


An individual test within a test package.


An interactive session with a single device in the console.

Setting Up

To get set up to use Device Farm, see Setting Up.