With Bitrise’s iOS device testing solution, you can run iOS tests on physical devices without having to set up and register your own devices: you just need to use our dedicated Steps and set the device type(s) on which you want to test your app. There are no limits to using the Step, other than your overall build time limit.
Our device testing solution is based on Firebase Test Lab: it uses real, production devices running in a Google data center to test your app. The devices are flashed with updated APIs and have customizable locale settings. You can find the resulting logs, videos and screenshots on Bitrise.
Enabling Device Testing ⚓
Before you attempt to use any of our Virtual Device Testing Steps, the feature itself must be enabled for your app.
- Log in to bitrise.io.
- Select the app on your Dashboard.
- Go to the
Scroll down to
Device Testingand toggle
ENABLE UI TESTS ON VIRTUAL DEVICES.
That’s it! You are now ready to start using our Device Testing solution.
Running device tests for iOS apps ⚓
To run device tests with the Firebase Test Lab solution, you will need to add two Steps to your workflow:
Xcode Build for testing for iOS
iOS Device Testing
Xcode Build for testing for iOS performs xcodebuild’s
build-for-testing action: it builds the tests defined in your iOS project’s Xcode scheme. The Step exports a .zip file that contains your test directory (by default, it’s Debug-iphoneos) and the
To use this Step, you will need code signing files for the test app: we recommend using codesigndoc to export the necessary files!
iOS Device Testing Step takes the path to this .zip file - exported as an Environment Variable - as input to run your tests and export the test results to Bitrise.
- Check that you enabled Device Testing for the app.
Xcode Build for testing for iOSStep to your workflow.
Note that it should come AFTER the
Certificate and profile installerStep.
Scheme nameinput, set the Xcode Scheme you want to use. By default, the value of the input is the
$BITRISE_SCHEMEEnvironment Variable which is stored when your app is created.
By default, the scheme defines which configuration - for example, Debug or Release - will be used. In the
Configuration nameinput, you can define the configuration type manually.
Set a destination option for xcodebuild in the
Device destinationinput of the Step.
The default value is
generic/platform=ios. For the available values, call
man xcodebuildon your local machine and check the
Destinationssection of the printout.
iOS Device TestingStep to the workflow.
The Step has to come after the
Xcode Build for testing for iOSStep.
Test devicesinput field, specify the devices on which you want to test the app.
Find the list of the available devices here.
- Optionally, you can download all the files generated in the test run: under the
Debuginput group, set the
Download filesinput to
- Start a build!
If all goes well, you should be able to view your results on the Build page.
Checking the device test results ⚓
Check out the test results of your device tests on the Build page of your app. You can view the results of the tests run on each device, and check the details of each test case. This includes:
- test cases
- files generated during the test
- Go to the
Buildtab of the app.
- Go to the
- Check out the test results per device.