Supported software within custom test environments
Device Farm uses host machines that are pre-installed with many of the necessary software libraries to run test frameworks supported on our service, providing a ready testing environment on launch. Device Farm supports multiple languages through the use of our software selection mechanism, and will periodically update the versions of the languages included in the environment.
For any other required software, you can modify the test spec file to install from your test package, download from the internet, or access private sources within your VPC (see VPC ENI for more information). For more information, see Test spec examples.
Pre-configured software
In order to facilitate device testing on each platform, the following tooling is provided on the test host:
| Tools | Device Platform(s) |
|---|---|
|
Android SDK Build-Tools |
Android |
|
Android SDK Platform-Tools
(includes |
Android |
|
Xcode |
iOS |
Selectable software
In addition to the pre-configured software on the host, Device Farm offers a way to
select certain versions of supported software via the devicefarm-cli tooling.
The following table contains the selectable software and the test hosts that contain them.
| Software / Tool | Hosts that support this software | Command to use in your test spec |
|---|---|---|
|
Java 17 |
amazon_linux_2 macos_sequoia |
|
|
Java 11 |
amazon_linux_2 macos_sequoia |
|
|
Java 8 |
amazon_linux_2 macos_sequoia |
|
|
Node.js 20 |
amazon_linux_2 macos_sequoia |
|
|
Node.js 18 |
amazon_linux_2 macos_sequoia |
|
|
Node.js 16 |
amazon_linux_2 |
|
|
Python 3.11 |
amazon_linux_2 macos_sequoia |
|
|
Python 3.10 |
amazon_linux_2 macos_sequoia |
|
|
Python 3.9 |
amazon_linux_2 macos_sequoia |
|
|
Python 3.8 |
amazon_linux_2 |
|
|
Ruby 3.2 |
amazon_linux_2 macos_sequoia |
|
|
Ruby 2.7 |
amazon_linux_2 |
|
|
Appium 2 |
amazon_linux_2 macos_sequoia |
|
|
Appium 1 |
amazon_linux_2 |
|
|
Xcode 26 |
macos_sequoia |
|
|
Xcode 16 |
macos_sequoia |
|
The test host also includes commonly used supporting tools for each software version, such
as the pip and npm package managers (included with Python and
Node.js respectively) and dependencies (such as the Appium UIAutomator2 Driver) for tools like
Appium. This ensures you have the tools needed to work with the supported test frameworks.