TestKase
TestKase
|Docs
AutomateMobileXCUITest

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".

StatusMeaning
queued / runningNot finished yet
passedTests ran and none failed (skipped tests don't count as failures)
failedAt least one test failed
errorNo result. message says why, e.g. no test matched your filters, or the app couldn't be installed
timedoutThe run went past runTimeout or 120 minutes, or no test started within 5 minutes
stoppedYou 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>/stop

Running 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.