Skip to main content
Start from a test plan. Bitrise uploads the build or calls the API, then runs that plan. For a change review of a pull request build, use Bitrise pull request testing.

Set it up

Create a test plan

Pick the tests, then copy the plan short ID (pln_…).

Mobile build

Upload the APK or simulator app and run the plan against it.

Web app

Start the plan with one POST /v1/run request.

Blocking mode

Poll the run and fail the step when the result is not passed.

What works on Bitrise

What this does not do

  • The scripts on the Bitrise page do not post a GitHub or GitLab review.
  • Bitrise does not replace a test plan schedule. Manage Schedules runs the plan without a Bitrise build.
  • Envoyer is unrelated. It is a PHP deploy hook, not a mobile CI. See Envoyer.

Test your mobile builds

Add a script step after your build step (e.g. android-build or xcode-build-for-simulator). It uploads the build to QA.tech and starts a test run against it, 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

Android (APK)

Bitrise’s android-build step exposes the built APK as $BITRISE_APK_PATH:
Replace app_gXeBl2 and pln_abc123 with your values.

iOS (Simulator build)

QA.tech runs iOS tests on simulators, so the upload must be a simulator build (.app compressed as .zip or .tar.gz) - device and App Store .ipa builds cannot run on simulators. See Mobile App Testing for how to prepare a simulator build. On Bitrise, use the xcode-build-for-simulator step instead of xcode-archive. It exposes the built .app directory as $BITRISE_APP_DIR_PATH. Zip it before the upload in the script above:
and use "platform": "ios" when creating the build record.
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 the Application Builds API for full request and response details.

Web applications

If you use Bitrise for a web app, trigger a test plan with a single request:
See the Start Run API for all available options, including environment URL overrides for staging or preview deployments.

Blocking mode

To fail the Bitrise build when tests fail (for example as a release gate), poll the run status after starting it:
See the Run Status API for polling details and error handling. If the polling step might exceed your step timeout, raise the step’s timeout in the Bitrise Workflow Editor.