AI mobile app testing for Android and iOS — one English test, both platforms
Mobile UI changes faster than any test script can chase. agent-qa expresses mobile flows as plain-English YAML, executes them on Android and iOS devices and emulators, and builds memory of how your app actually behaves — release after release.
Why mobile suites rot fastest
Mobile test automation carries every burden of web automation plus platform toolchains, device variance, and release cadences driven by app-store cycles. Locator-based frameworks pin accessibility IDs and view hierarchies that shift with every redesign — and then the suite pays for it twice, once per platform.
agent-qa's mobile tests pin intent instead. One YAML file describes the flow; the runtime derives the right taps and inputs per platform at execution time, verifies outcomes on-screen, and records behavioral changes in memory rather than failing on them.
One contract for the app and everything else
The same workspace covers your Android app, iOS app, and web product — same YAML format, same CLI, same memory store, same artifacts. Login is one test concept, not three codebases. Hooks handle seeding, deep links, and API checks; environment templating keeps device runs deterministic.
test-id: t_login-mobile
name: Sign in on the mobile app
target: shop-app-android
steps:
- Launch the app.
- Dismiss the onboarding carousel if it appears.
- Open the profile tab and choose "Sign in".
- Enter the email "{{env:TEST_EMAIL}}" and password "{{env:TEST_PASSWORD}}".
- Submit the form.
- Verify the profile tab shows the account's display name.Local devices, CI, and coding agents
Runs execute against local and remote devices and emulators, from your machine or CI. Coding agents drive the same flows through MCP tools — so when an agent changes app code, it can verify the change on-device before a human ever looks at the PR. Every run's evidence lands as artifacts beside your code.
# initialize a workspace
npx agent-qa init
# run a test
npx agent-qa run tests/checkout-smoke.yaml
# inspect runs in the local dashboard
agent-qa dashboard --port 3470 --openFrequently asked questions
Does agent-qa test both Android and iOS?
Yes. agent-qa runs end-to-end flows on Android and iOS — devices and emulators, local or remote — using the same plain-English YAML contract it uses for web. One test expresses the flow; the runtime executes it per platform target.
How does agent-qa compare to Appium or Maestro?
Appium gives you programmatic device control with WebDriver code; Maestro gives you static YAML commands. agent-qa gives you intent: English steps planned against the live app, self-healing on UI change, memory across runs, and web coverage in the same harness. See the full agent-qa vs Appium and agent-qa vs Maestro comparisons.
Can it handle flaky mobile timing and app updates?
That's the core design goal. The runtime observes actual app state while executing rather than racing fixed waits, and memory records how screens and flows evolved so subsequent runs plan correctly the first time.
What does mobile testing with agent-qa cost?
agent-qa is free and open source — no device-cloud subscription is required. You run against hardware and emulators you control and pay only your chosen LLM provider's token costs, moderated by plan caching.