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.
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 type | Steps | Notes |
|---|---|---|
| Unit tests |
| Screenshots attach automatically from the xcresult file. |
| UI tests |
| The same Step runs every test target, UI targets included. |
| Device farm |
|
Android (Gradle)Click to copy link
| Test type | Steps | Notes |
|---|---|---|
| Unit tests |
| The Run Gradle Tests Step also works. |
| Instrumented tests |
| |
| Device farm |
| Set download_test_results to true to detect flaky tests. |
FlutterClick to copy link
| Test type | Steps | Notes |
|---|---|---|
| Unit and widget tests |
| Covers unit and widget tests. |
| UI tests | No native Step. | Use the generic route. |
| Device farm | Not available natively. |
MaestroClick to copy link
| Test type | Steps | Notes |
|---|---|---|
| Unit tests | Not applicable. | |
| UI tests |
| No export Step needed. |
| Device farm | No native Step. | For Maestro Cloud and devicecloud.dev, use the generic route. |
Any other frameworkClick to copy link
| Test type | Steps | Notes |
|---|---|---|
| Unit, UI, and device farm tests |
| Works for every test type. |