Skip to main content

Test reports overview

View your test results in one place after a Bitrise CI build: all tests appear on the Tests tab of the build page, even if you have multiple testing Steps in your Workflows. Which Steps you need depends on your framework and the type of test you run.

Always add the Deploy to Bitrise.io Step

Add the Deploy to Bitrise.io Step after your test Step, and set it to run even when the tests fail (is_always_run: true). Without it, nothing reaches the Tests tab. To show attachments and flaky tests, use version 2.19.1 or newer.

Pick your framework and test typeClick to copy link​

How you get your test results onto the Tests tab depends on the Step that runs your tests. There are two routes:

  • Native Steps: the official Bitrise testing Steps, such as Xcode Test for iOS and Android Unit Test, export your test results themselves. You only need to add the Deploy to Bitrise.io Step to your Workflow.
  • Generic route: if you run your tests with any other tool, for example in a Script Step, write your results to a JUnit XML file. Then add the Export test results to Test Reports Step after the Step that runs your tests, and the Deploy to Bitrise.io Step after that.

Find your framework below to see which Steps you need for each test type. If your framework isn't listed, use the generic route. For the full instructions on both routes, see Deploying test results. Once your results are deployed, see Viewing test results to learn how to find and read them on the build page, or in a comment on your pull request when PR comments are turned on.

Xcode (iOS, macOS)Click to copy link​

Test typeStepsNotes
Unit tests
  • Xcode Test for iOS
  • Deploy to Bitrise.io
Screenshots attach automatically from the xcresult file.
UI tests
  • Xcode Test for iOS
  • Deploy to Bitrise.io
The same Step runs every test target, UI targets included.
Device farm
  • iOS Device Testing
  • Deploy to Bitrise.io

Android (Gradle)Click to copy link​

Test typeStepsNotes
Unit tests
  • Android Unit Test
  • Deploy to Bitrise.io
The Run Gradle Tests Step also works.
Instrumented tests
  • Android Instrumented Test
  • Deploy to Bitrise.io
Device farm
  • Virtual Device Testing for Android
  • Deploy to Bitrise.io
Set download_test_results to true to detect flaky tests.

FlutterClick to copy link​

Test typeStepsNotes
Unit and widget tests
  • Flutter Test
  • Deploy to Bitrise.io
Covers unit and widget tests.
UI testsNo native Step.Use the generic route.
Device farmNot available natively.

MaestroClick to copy link​

Test typeStepsNotes
Unit testsNot applicable.
UI tests
  • Android Build or Xcode Build for Simulator
  • AVD Manager or Xcode Start Simulator
  • Maestro Test
  • Deploy to Bitrise.io
No export Step needed.
Device farmNo native Step.For Maestro Cloud and devicecloud.dev, use the generic route.

Any other frameworkClick to copy link​

Test typeStepsNotes
Unit, UI, and device farm tests
  • A Script Step that runs your tests and writes JUnit XML
  • Export test results to Test Reports
  • Deploy to Bitrise.io
Works for every test type.