Testing
Bitrise has a number of dedicated Steps to help you with running your tests, and you can use custom Script Steps if you do not find what you need in our Step Library.
Testing your app is a major part of the continuous integration process. Bitrise has a number of dedicated Steps to help you with running your tests, and you can use custom Script Steps if you do not find what you need in our Step Library.
Check out our testing Steps for iOS, Android, and multiplatform apps: from Xcode tests through Flutter tests to Android Lint, you can review and test your app on Bitrise, regardless of the frameworks and tools you use.
iOS testing
-
Run UI and unit tests with Xcode using our Xcode Test for iOS Step. With this Step, you don't need code signing and you can easily export your test results to the Test Reports add-on.
-
Build an iOS app for testing with the Xcode Build for testing for iOS Step. The Step uses the
build-for-testing
action ofxcodebuild
to build your test targets and exports the resulting bundle. You can use this bundle, for example, to perform device testing with Firebase. -
Build an iOS app for a simulator with the Xcode Build for Simulator Step. The Step builds an
.app
file that you can install on an iOS simulator. This requires no code signing, and as such it is a simple way to provide a testable app for your testers.
You can easily run multiple tests in parallel with Pipelines: Currently supported use cases for the iOS platform.
Android testing
-
Run unit tests for Android apps with our Android Unit Test Step. You can configure the Step to run tests on certain modules and variants, and you can pass additional arguments to the Gradle task running the tests. The Step can also export the test results to the Test Reports add-on.
-
Run instrumented tests using the Android Build for UI Testing and the Android Instrumented Test Steps. The Steps generate and export an APK and a test APK and then run your instrumented tests using
adb
.
You can easily run multiple tests in parallel with Pipelines: Currently supported use cases for the Android platform.
Flutter testing
-
Run unit and UI tests for Flutter apps with the Flutter Test Step. The Step simply runs the flutter test command on your app: you can configure it to run only specific tests or to run all tests it can find. You can also export the results to the Test Reports add-on.
-
Perform static code analysis with the Dart analyzer: our Flutter Analyze Step runs the flutter analyze command with the required fail severity and the additional parameters you wish to append to it.
React Native testing
-
Run unit and UI tests for React Native apps by either npm test or yarn test. The Steps run the
tests
script in thescripts
object of your package. -
Perform end-to-end testing with Detox, a gray box end-to-end tests and automation library for mobile apps built with React Native.
Device testing with Firebase
Bitrise offers a convenient device testing solution with Firebase Test Labs. You don't need your own Firebase account, nor do you need any complex configuration: you just need to build your iOS and Android apps for testing and then run the dedicated device testing Steps that runs your tests and can export them to the Test Reports add-on.
The solution also works for multiplatform apps, such as Flutter and React Native apps.
-
Device testing for iOS: Build a test bundle from your
.xcodeproj
or.xcworkspace
file and run device tests on real devices on Firebase. -
Device testing for Android: Build an APK and then run robo-, instrumented-, and gameloop tests with the device testing Step.
-
Device testing for multiplatform apps: Learn how to configure your multiplatform apps for device tests with Firebase.
Test Reports
The Test Reports add-on offers a convenient way to view and analyze all your test results. You can break down the results by test cases, or by the state of the test results. You can view screenshots and other test artifacts within the add-on.
-
Set up the Test Reports add-on for your apps by using the supported testing Steps and the Deploy to Bitrise.io Step.
-
Export test results from any testing Step either by using a custom Script Step or the dedicated Export test results to Test Reports add-on Step.