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

Runs in AWS Device Farm

The following sections contain information about runs in Device Farm.

A run in Device Farm represents 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.

Run Configuration

As part of a run, you can supply settings Device Farm can use to override current device settings. These include latitude and longitude coordinates, locale, radio states (such as Bluetooth, GPS, NFC, and Wi-Fi), extra data (contained in a .zip file), and auxiliary apps (apps that should be installed before the app that will be tested).

Run Files Retention

Device Farm stores your apps and files for 30 days and then deletes them from its system. You can delete your files at any time, however.

Device Farm stores your run results, logs, and screenshots for 400 days and then deletes them from its system.

Run Device State

Device Farm always reboots a device before making it available for the next job.

Parallel Runs

Device Farm runs tests in parallel as devices become available.

Setting the execution timeout in test runs

You can set a value for how long a test run should execute before you stop each device from running a test. For example, if your tests take 20 minutes per device to complete, you should choose a timeout of 30 minutes per device.

To learn more, see Set the Execution Timeout for Test Runs in AWS Device Farm.

Instrumenting Apps

You do not need to instrument your apps or provide Device Farm with the source code for your apps. Android apps can be submitted unmodified. iOS apps must be built with the iOS Device target instead of with the simulator.

Re-Signing Apps in Runs

For iOS apps, you do not need to add any Device Farm UUIDs to your provisioning profile. Device Farm replaces the embedded provisioning profile with a wildcard profile and then re-signs the app. If you provide auxiliary data, Device Farm will add it to the app's package before Device Farm installs it, so that the auxiliary will exist in your app's sandbox. Re-signing the app removes entitlements such as App Group, Associated Domains, Game Center, HealthKit, HomeKit, Wireless Accessory Configuration, In-App Purchase, Inter-App Audio, Apple Pay, Push Notifications, and VPN Configuration & Control.

For Android apps, Device Farm re-signs the app. This may break any functionality that depends on the app's signature, such as the Google Maps Android API, or it may trigger antipiracy or antitamper detection from products such as DexGuard.

Obfuscated Apps in Runs

For Android apps, if the app is obfuscated, you can still test it with Device Farm if you use ProGuard. However, if you use DexGuard with antipiracy measures, Device Farm will not be able to re-sign and run tests against the app.

Ads in Runs

We recommend that you remove ads from your apps before you upload them to Device Farm. We cannot guarantee that ads will be displayed during runs.

Media in Runs

You can provide media or other data to accompany your app. Additional data must be provided in a .zip file no more than 4 GB in size.

Common Tasks for Runs

For more information, see Create a Test Run and Working with Test Runs.