Agentfy
Get started
Use cases / QA & test automation

iOS test automation without the XCUITest tax

Real devices, browser-driven dashboard, CI-friendly REST API. Vision-based element find works on the third-party apps XCUITest can't even see.

Test macro authoring + run history
Test macro authoring + run history
The boilerplate test

Same test, two very different week-ones

Compare what it takes to get an iOS smoke test running on real hardware — before and after.

The XCUITest stack

An afternoon of Xcode just to get a test to run

First-run · ~4 hours
  • Provision a Mac build agent and keep it patched alongside CI runners
  • Rotate provisioning profiles every 7 days; recompile WebDriverAgent
  • Tests only see your own first-party app — third-party app surfaces are invisible
  • Locator brittleness: accessibility tree drifts as designers iterate
The Agentfy way

Pair a phone, write 5 steps, run from anywhere

First-run · 60s
  • No Mac, no Xcode, no certificates — pair via QR from the iOS app
  • Same engine drives third-party apps (TikTok, banking, social) via vision + OCR
  • Test = readable .agfm script — diff-friendly, code-review-friendly
  • Per-step screenshot + OCR archive; one-click rerun on failure
A real test macro

12 lines of .agfm replaces a 200-line XCUITest file

Same login critical-path. Same assertions. Half the time to author, no Mac required.

smoke-test_login.agfm agfm
# smoke-test_login.agfm — runs on every release branch
launch_app "com.example.app"
wait_for_text "Sign in" timeout=5s

tap_by_text "Sign in"
text "[email protected]"
tap_by_text "Continue"
text "${vault.QA_PASSWORD}"
tap_by_text "Log in" exact

# critical-path assertion
wait_for_text "Welcome back" timeout=10s
assert_text "Welcome back"

# return to springboard so the next test starts clean
press_home
CI integration

Every run lands here, queryable by REST

GitHub Actions / CircleCI / Jenkins trigger the run, the dashboard captures pass/fail + per-step screenshots. Click any row for the full trace.

agentfy.io/macros/runs
5 pass · 1 fail
Test Device Steps Duration Result Last run
smoke-test_login iPhone 11 12 8.3s Pass 12s ago
smoke-test_login iPhone 13 12 7.9s Pass 14s ago
smoke-test_login iPhone 15 12 9.1s Pass 11s ago
regression_checkout_flow iPhone 11 44 1m 12s Pass 2m ago
regression_checkout_flow iPhone 13 44 1m 8s Pass 2m ago
regression_third_party_oauth iPhone 15 18 31s Fail 5m ago

The composing parts

Pair an iPhone, write the test, see it run

Bring an iPhone, pair it, write 5 steps, run it, look at the screenshot, iterate.

Start free trial