Skip to main content
No Result Found
Get your setup working faster. Join our Discord for optimisation tips from elite testers. Join our DiscordJoin our Discord

Upload XCUITest test suites for Apple TV via App Automate API

Upload a zipped test suite to BrowserStack and get a test suite URL to use when you start a build.

To test your tvOS app on Apple TV devices using XCUITest, you also need to upload your test suite (.zip file) to BrowserStack servers. Use this REST API endpoint to upload your test suite.

Upload a test suite

POST /app-automate/xcuitest/v2/test-suite

Upload your XCUITest test suite for tvOS. The .zip file must contain your <Name>-Runner.app built for the tvOS SDK (appletvos), with UIDeviceFamily in its Info.plist containing 3.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://api-cloud.browserstack.com/app-automate/xcuitest/v2/test-suite" \
-F "file=@/path/to/test-suite/YourTVAppUITests.zip"
  • 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 -F option. Either file or url parameter 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 file or url parameter 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 upload test suites for Apple TV to know more.

Response attributes 200 OK application/json

Response

{
    "test_suite_name": "YourTVAppUITests.zip",
    "test_suite_url": "bs://<hashed_test_suite_id>",
    "test_suite_id": "<hashed_test_suite_id>",
    "uploaded_at": "2026-11-03 06:17:50 UTC",
    "expiry": "2026-12-03 06:17:50 UTC",
    "framework": "xcuitest"
}
  • 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 XCUI 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 xcuitest by default.

  • custom_id String

    Custom ID defined for the uploaded test suite.
    Example: SampleTest. Accepted characters are A-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.

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

Download Copy Check Circle