Results
Check whether an XCUITest build passed, read each device's tests, video and logs, and stop a build.
Is the build done?
curl -u "x:$TESTKASE_ACCESS_KEY" https://hub.testkase.com/xcuitest/v1/builds/<build_id>{
"build_id": "5b1e7c2a-9d4f-4e1b-8a63-2f0c7d9e4b18",
"status": "failed",
"devices": [
{ "device": "iPhone 15-26", "sessionId": "0747163a-…", "status": "failed",
"tests": { "total": 3, "passed": 1, "failed": 1, "skipped": 1 } }
]
}Poll until status is no longer queued or running. The build is passed only when every device passed, so gate your CI on status == "passed".
| Status | Meaning |
|---|---|
queued / running | Not finished yet |
passed | Tests ran and none failed (skipped tests don't count as failures) |
failed | At least one test failed |
error | No result. message says why, e.g. no test matched your filters, or the app couldn't be installed |
timedout | The run went past runTimeout or 120 minutes, or no test started within 5 minutes |
stopped | You stopped the build |
Which tests failed, and why
curl -u "x:$TESTKASE_ACCESS_KEY" https://hub.testkase.com/xcuitest/v1/builds/<build_id>/sessions/<sessionId>You get every test with its status, XCTest's message with the file and line of each failure, a videoUrl per test, and links to the device log and the test output (everything xcodebuild printed). The links work for 30 minutes, so ask again for fresh ones.
If your app crashes during a test, that test fails with the crash text as its message.
Video
Each test's clip arrives after the run has finished, not while it runs. A skipped test, or one cut off by a stop or a timeout, has no clip, and a very short test usually has none. A missing clip never fails a test.
Stop a build
curl -u "x:$TESTKASE_ACCESS_KEY" -X POST https://hub.testkase.com/xcuitest/v1/builds/<build_id>/stopRunning and waiting devices end as stopped. It is safe to call on a finished build.
In the dashboard
Every build is listed in Automate → Mobile Apps → Runs under its buildTag. Each device's session there has a video per test, the All Commands tab (each XCTest step, like Tap "Login" Button) and the logs.
Billing works like Appium: each device is billed per minute. Time waiting in the queue is free.
Full response fields: build status, one device, stop.
Starting a build
Start an XCUITest build on one or more real iPhones and iPads, and choose which tests run.
Troubleshooting
The XCUITest messages you are most likely to meet — features not available in a run, refused uploads, install failures, unknown devices, zero tests, timeouts — and what to do about each.
