Skip to main content
Start from a test plan. A fastlane lane builds a simulator or emulator binary, uploads it, and runs that plan against it. The lane works on any CI that runs fastlane, or on your machine. For a change review of a pull request build, use fastlane pull request testing.

Set it up

Add the lane

Copy the Fastfile helpers and the Android and iOS lanes.

Run it

Run the lane after each new build, locally or in CI.
New to mobile app testing on QA.tech? Start with Mobile App Testing to create your mobile application first.
1

Store the API token

Create a token in Organization Settings → API Keys. Store it as QATECH_API_TOKEN in your CI secrets, or in a fastlane/.env file you do not commit.
2

Get the application short ID

Copy app_… from Settings → Applications & Envs (for example app_gXeBl2) and store it as QATECH_APP_ID. See Finding Short IDs.
3

Get the test plan short ID

Open the plan under Test Plans and copy pln_… from the URL (for example pln_abc123). Store it as QATECH_TEST_PLAN_ID. See Find the test plan short ID.
4

Set the project short ID for org-scoped keys

A project-scoped key is bound to one project and needs nothing else. With an organization-scoped key, copy proj_… from the project URL or Settings and store it as QATECH_PROJECT_ID. The lane sends it as projectShortId on every request. See Understanding Different IDs.

What works with fastlane

What this does not do

  • It does not post a GitHub or GitLab review. See fastlane pull request testing.
  • It does not test store artifacts. Upload a simulator or emulator build of the same commit, not the .ipa or .aab you send to the stores.
  • It does not replace a test plan schedule. Manage Schedules runs the plan without a new build.

Add the lane

Add this to fastlane/Fastfile. The helpers call the Application Builds API and Start Run in four parts:
  1. Get a presigned upload URL
  2. Upload the build file directly to storage
  3. Create the build record
  4. Start a test run pinned to that build, then poll it until it finishes
Replace the workspace, scheme, and app name with your own.
fastlane/Fastfile
Supported file types are .apk and .aab for Android, and .zip or .tar.gz containing your .app simulator build for iOS. Maximum file size is 4GB. See Preparing Your App Build for simulator builds, including Expo and React Native.

Run it

Run the lane after each new build:
The lane fails when the run does not pass, so CI marks the build as failed. Pass wait: false to qatech_run_test_plan to start the run and continue without waiting; the results still reach your notification channels. If polling might exceed your CI job timeout, raise the timeout or pass wait: false. To test a build in an existing lane (for example before upload_to_play_store or upload_to_testflight), call qatech_upload_build and qatech_run_test_plan from that lane.