Run your first test
XCUITest is a mobile automation framework provided by Apple that helps you write UI tests for your iOS applications. BrowserStack App Automate supports XCUI testing on a wide range of real iOS devices. This guide will help you run your first XCUI test on BrowserStack.
Setup
-
You will need a BrowserStack
username
andaccess-key
. To obtain your access credentials, sign up for a free trial or purchase a plan. -
XCUI tests are built into a separate
zip
file. Hence, you will need access to both the app (.ipa
file) as well as XCUI test-suite (separate.zip
file). If you do not have.ipa
files and are looking to simply try App Automate, you can download our sample app and sample test-suite here:
iOS Device OS | Download links |
---|---|
Below iOS 14.0 |
Sample app and Sample test-suite |
For iOS 14.0 and above |
Sample app and Sample test-suite |
Upload your app
Upload your iOS app (.ipa
) file to BrowserStack servers using a REST API request.
The following sample cURL command shows how to upload an app:
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://api-cloud.browserstack.com/app-automate/xcuitest/v2/app" \
-F "file=@/path/to/app/file/app-debug.ipa"
A sample response for the request is as follows:
{
"app_name":"app-debug.ipa",
"app_url":"bs://j3c874f21852ba57957a3fdc33f47514288c4ba4",
"app_version":"1.0",
"app_id":"j3c874f21852ba57957a3fdc33f47514288c4ba4",
"uploaded_at":"2022-05-13 06:16:49 UTC",
"expiry":"2022-06-12 06:16:49 UTC"
}
The value of the app_url
parameter in the response is used to specify the application under test when you run XCUI tests.
Upload your test suite
Upload your XCUI test suite (.zip
) file to BrowserStack servers using a REST API request.
The following sample cURL command shows how to upload a test suite:
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://api-cloud.browserstack.com/app-automate/xcuitest/v2/test-suite" \
-F "file=@/path/to/app/file/BrowserStack-SampleXCUITest.zip"
A sample response for the request is as follows:
{
"test_suite_name":"BrowserStack-SampleXCUITest.zip",
"test_suite_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4",
"test_suite_id":"f7c874f21852ba57957a3fdc33f47514288c4ba4",
"uploaded_at":"2022-05-13 06:17:50 UTC",
"expiry":"2022-06-12 06:17:50 UTC",
"framework":"xcuitest"
}
The value of the test_suite_url
parameter in the response is used to specify the test suite when you run XCUI tests.
.zip
file for your test-suite, follow step by step instructions in our Build and export test-suite guide to generate the zip
file.
Execute XCUI tests
After you upload the app and test suite to BrowserStack servers, send an API request to start the test execution as shown in the following sample cURL request:
A sample response for the request is as follows:
{
"message":"Success",
"build_id":"4d2b4deb810af077d5aed98f479bfdd2e64f36c3"
}
The build_id
is used to uniquely identify your build in App Automate.
View test results
After you start an XCUI test-suite execution using the REST API request, visit your App Automate dashboard to view your test results, debugging logs, and overall test details. You can also use API requests to view test results.
Related topics
-
Manage your uploaded app or test suite using our upload app REST API and upload test suite REST API.
-
Use the get app API endpoint and list test suites API endpoint to list your recently uploaded apps and test suites.
-
Delete your uploaded app or test suite using the delete app API endpoint and delete test suite API endpoint.
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.
We're continuously improving our docs. We'd love to know what you liked
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.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!