Espresso Testing
TestingBot provides access to Android physical devices and Android emulators, capable of running your Android Espresso tests.
Espresso is a mobile automation framework from Google, designed to run UI tests for Android applications.
Using Espresso in combination with TestingBot's Android cloud service is very straightforward:
- Upload your native mobile Android app, together with the Espresso test apk file. These are created with either Java or Kotlin.
- Specify on which devices you want to run the Espresso tests.
- Retrieve the results of the Espresso tests.
Getting Started
To get started, please follow the steps below:
-
You will need a
key
andsecret
to connect to the TestingBot grid.
These credentials are available in the TestingBot member area. -
Espresso tests require a seperate
apk
file for testing. So you will need to upload both the app (.apk
or.aab
file) and the test file (.apk
).
You can also use the TestingBot Espresso Demo App to give the Espresso Cloud Testing functionality a try.
Upload Android App
To run Android Espresso tests on TestingBot, you will first have to upload your .apk
or .aab
file to TestingBot Storage.
Upload Espresso Test Suite
You can now upload the .apk
file containing the Espresso tests.
The upload process is similar to the app upload process.
Specify devices
You can specify one or more Android device capabilities with your API call.
These capabilities can target either Android emulators, or physical Android devices.
We offer special parameters which you can use to allocate a device:
Regex Input | Result |
---|---|
"Pixel.*" |
This will allocate any available Pixel device (phone) |
"*" |
This will allocate a random available Android device |
"Samsung [20-21]" |
This will allocate either an Samsung 20 or 21 |
Some Examples:
// find any Samsung Galaxy, except 23
-d '{"capabilities":[{"deviceName":"^(Galaxy.*)(?!23)$", "platformName":"Android", "realDevice": true}]}'
// find any device which name starts with Pixel
-d '{"capabilities":[{"deviceName":"Pixel.*", "platformName":"Android", "realDevice": true}]}'
Tablet Only
You can specify the tabletOnly
capability when you only want to allocate a tablet device.
Phone Only
You can specify the phoneOnly
capability when you only want to allocate a phone device.
Run Espresso Tests
Now that you have uploaded both your Android application and the Espresso test suite, you can run your first Espresso test on the TestingBot cloud.
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/espresso/:id/run" \
-d '{"capabilities":[{"platform":"ANDROID", "version":12, "deviceName":"Pixel 6", "platformName":"Android"}]}' \
-H "Content-Type: application/json"
Replace the
:id
with the identifier you received during the app upload call.
The API response will include a success
response, indicating if the tests will start or if an error occurred.
View Espresso Test Results
You will now see a test appear in the TestingBot dashboard, together with a video, test logs and other metadata.
Alternatively, you can query the TestingBot REST API to fetch the results of your Espresso tests:
Replace the
:id
with the identifier you received during the app upload call.
The API response will include a response indicating the current state of the Espresso test results.
{
"runs": [
{
"status": "DONE",
"capabilities": {
"version": "12",
"deviceName": "Pixel 6",
"platformName": "Android"
},
"success": false,
"test": {
"sessionId": "30f6eild082c3-804f3c0ec2df-a18b2d431ffb-169920992163-48455547",
"environment": {
"name": "chrome",
"os": "Pixel 6 - 12.0",
"version": "12.0"
}
}
}
],
"version": "1.0"
}