Upload & manage Espresso test-suites via App Automate API
Upload and manage your test-suites for automated mobile testing using Espresso via the BrowserStack App Automate API. Run automated app tests on real devices.
To test your native and hybrid apps on BrowserStack using Espresso, you also need to upload your test-suite (.apk file) to BrowserStack servers. Use our REST API endpoints to upload and manage your test-suites on BrowserStack.
Upload a test-suite
Upload an Espresso test-suite (.apk file). There are two ways to upload the test-suite :
- Upload from filesystem : Use this option if your test-suite resides on your local machine or CI/CD server.
- Upload using public URL : Use this option when the test-suite is hosted on a remote server (e.g. S3 bucket) and it’s downloadable via a publicly accessible URL.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suite" \
-F "file=@/path/to/test/file/app-debug-androidTest.apk" \
-F "custom_id=SampleTest"
-
file File
File to upload. Ensure that the request’s content type is set to
multipart/form-data. In cURL, you can do this using-Foption. Eitherfileorurlparameter is required. -
url String
Remote URL to your test-suite. Ensure that it’s a publicly accessible URL as BrowserStack will attempt to download the test-suite from this location. Either
fileorurlparameter is required. -
custom_id String
Custom ID for the test-suite. Accepted characters are
A-Z,a-z,0-9,.,-,_. All other characters are ignored. Character limit is 100. Refer to our custom ID documentation to know more.
Response attributes 200 application/json
Response
{
"test_suite_name": "app-debug-androidTest.apk",
"test_suite_url": "bs://89c874f21852ba57957a3fdc33f47514288c4ba1",
"test_suite_id": "89c874f21852ba57957a3fdc33f47514288c4ba1",
"uploaded_at": "2020-09-09 15:35:00 UTC",
"custom_id": "SampleTest",
"framework": "espresso",
"expiry": "2020-10-09 15:35:00 UTC",
}
-
test_suite_name String
Filename of the uploaded test-suite.
-
test_suite_url String
Unique identifier returned upon successful upload of your test-suite on BrowserStack. This value can be used later to specify the test-suite for your Espresso test execution.
Example:bs://c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
test_suite_id String
Unique identifier returned upon successful upload of your test-suite on BrowserStack.
Example:c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
uploaded_at String
Test-suite upload timestamp.
-
framework String
Name of the automation framework. This is set to Espresso by default.
-
custom_id String
Custom ID defined for the uploaded test-suite.
Example:SampleTest. Accepted characters areA-Z,a-z,0-9,.,-,_. All other characters are ignored. Character limit is 100. -
expiry String
By default, an uploaded test-suite expires in 30 days. Upon expiry, the uploaded test-suite is deleted from BrowserStack servers and thus can no longer be tested.
List uploaded test-suites
Retrieve a list of recently uploaded test-suites. By default, it returns the last 10 uploaded test-suites from your BrowserStack group.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites"
# Limit the number of test-suites to be displayed using the "limit" parameter
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites?limit=5"
# Fetch test-suites from a specific position using the "offset" parameter
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites?limit=10&offset=20"
# List recent test-suites using customID
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites?custom_id=SampleTest"
-
limit String
Number of recent test-suites to fetch. The default value is 10.
-
offset String
Retrieve a list of test-suites from a particular point. Use
offsetin conjunction with thelimitparameter. -
custom_id String
Filter test-suites by custom ID. Performs a case-sensitive exact match against the custom ID set at upload time. Accepted characters are
A-Z,a-z,0-9,.,-,_. All other characters are ignored. Character limit is 100.
Response attributes 200 application/json
Response
{
"test_suites" : [
{
"test_suite_name": "app-debug-androidTest.apk",
"test_suite_url": "bs://89c874f21852ba57957a3fdc33f47514288c4ba1",
"test_suite_id": "89c874f21852ba57957a3fdc33f47514288c4ba1",
"uploaded_at": "2020-09-09 15:35:00 UTC",
"custom_id": "SampleTest",
"framework": "espresso",
"expiry": "2020-10-09 15:35:00 UTC"
},
{...}
]
}
-
test_suites Array
â–¶ SHOW VALUESList of recently uploaded test-suites.
-
test_suite_name String
Filename of the uploaded test-suite.
-
test_suite_url String
Unique identifier returned upon successful upload of your test-suite on BrowserStack. This value can be used later to specify the test-suite for your test execution.
Example:bs://c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
test_suite_id String
Unique identifier returned upon successful upload of your test-suite on BrowserStack.
Example:c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
uploaded_at String
Test-suite upload timestamp.
-
framework String
Name of the automation framework. This is set to by default.
-
custom_id String
Custom ID defined for the uploaded test-suite.
Example:SampleTest. Accepted characters areA-Z,a-z,0-9,.,-,_. All other characters are ignored. Character limit is 100. -
expiry String
By default, an uploaded test-suite expires in 30 days. Upon expiry, the uploaded test-suite is deleted from BrowserStack servers and thus can no longer be tested.
-
Get test-suite details
Get details of an uploaded test-suite.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites/{test_suite_id}"
-
test_suite_id* String
Test-suite ID of the uploaded test-suite.
Response attributes 200 application/json
Response
{
"test_suite" : {
"test_suite_name": "app-debug-androidTest.apk",
"test_suite_url": "bs://89c874f21852ba57957a3fdc33f47514288c4ba1",
"test_suite_id": "89c874f21852ba57957a3fdc33f47514288c4ba1",
"uploaded_at": "2020-09-09 15:35:00 UTC",
"custom_id": "SampleTest",
"framework": "espresso",
"expiry": "2020-10-09 15:35:00 UTC",
}
}
-
test_suite Object
â–¶ SHOW VALUESDetails of the uploaded test-suite
-
test_suite_name String
Filename of the uploaded test-suite.
-
test_suite_url String
Unique identifier returned upon successful upload of your test-suite on BrowserStack. This value can be used later to specify the test-suite for your test execution.
Example:bs://c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
test_suite_id String
Unique identifier returned upon successful upload of your test-suite on BrowserStack.
Example:c8ddcb5649a8280ca800075bfd8f151115bba6b3 -
uploaded_at String
Test-suite upload timestamp.
-
framework String
Name of the automation framework. This is set to by default.
-
custom_id String
Custom ID defined for the uploaded test-suite.
Example:SampleTest. Accepted characters areA-Z,a-z,0-9,.,-,_. All other characters are ignored. Character limit is 100. -
expiry String
By default, an uploaded test-suite expires in 30 days. Upon expiry, the uploaded test-suite is deleted from BrowserStack servers and thus can no longer be tested.
-
Delete a test-suite
Delete an uploaded test suite. Note that test suites once deleted cannot be recovered.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X DELETE "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suites/6c4a46de7b0361585594fd3e5464bddff95d581b"
-
test_suite_id* String
Test-suite ID of the uploaded test-suite.
Response attributes 200 application/json
Response
{
"success": {
"message": "Test Suite with url bs://6c4a46de7b0361585594fd3e5464bddff95d581b was deleted."
}
}
-
success Object
â–¶ SHOW VALUESThis is returned when the test-suite is successfully deleted from BrowserStack servers.
-
message String
Confirmation message for test-suite deletion.
-
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.