Skip to main content
Run TesterArmy mobile tests from Expo EAS workflows by uploading an EAS iOS Simulator build or Android APK and triggering a remote test group.

Prerequisites

Before you set it up, make sure you have already:
  • Created mobile project (can be without uploaded app)
  • Created at least one mobile test
Also make sure that you have configured Expo EAS with Github

Required environment variables

These values can be found in the TesterArmy Dashboard:
  • API key - Settings → API Keys
  • Project ID - Project Settings
  • Group ID - Test Tab, then click on three dots on the group you want to run tests on and copy the ID
Set TESTERARMY_API_KEY as an EAS secret or sensitive environment variable. Do not commit it, and do not expose it through an EXPO_PUBLIC_* environment variable.

Instructions for AI agents

Below you will find instructions for AI agent to set up EAS integration with TesterArmy for you.

Setup Expo EAS integration with TesterArmy

Configure mobile build profiles

TesterArmy requires an iOS Simulator build profile and an Android APK build profile in EAS. Add the following snippet to your eas.json file:
eas.json
For Android builds, make sure your Expo config has an Android package name, for example android.package in app.json.

Add the EAS workflow

Here is an example workflow file that:
  1. Builds the iOS Simulator app and Android APK
  2. Uploads each app to TesterArmy
  3. Runs the saved test group once for iOS and once for Android
  4. Deletes each uploaded app from TesterArmy after the tests complete
.eas/workflows/testerarmy-mobile-tests.yml

Exploration agent

On pull requests you can also run the exploration agent, which explores what a pull request changes instead of running a fixed test group. See the With exploration agent tab above for a complete workflow. The agent runs on the same app you already uploaded and only on pull requests. To turn it off, set TESTERARMY_DYNAMIC_AGENT_ENABLED=false. If a pull request doesn’t change anything users can see in the app, the exploration run is skipped: the PR check shows a neutral “Tests skipped” status with the reason, the run is recorded as cancelled with that reason, and the CLI reports it as skipped and exits 0, so it never blocks the PR. Real failures and cancellations still fail the job.

GitHub PR comments and checks

When your workflow is triggered by a pull request, TesterArmy will create a GitHub check and comment on the PR. When workflow is triggered by a commit (eg. on push to main), TesterArmy will create a GitHub check on the commit. To enable this, you need to configure your TesterArmy project with your GitHub repository. You can do it in Integrations Tab in project.

Example repository

You can find a working example repository here.

Troubleshooting

The build has an unsupported platform or format

TesterArmy requires an iOS Simulator .app build or Android .apk build. If you are using an iOS physical-device build, build a simulator app first. If you are using Android, make sure the EAS profile produces an APK, not an .aab.
Prefer release builds for CI, especially for Android runs that execute without a Metro dev server.

TesterArmy warns that GitHub integration is not configured / TesterArmy cannot create a PR comment

If you are seeing this error, it means that your TesterArmy project has no GitHub integration configured. You can configure it in Integrations Tab in project.