record → yaml → run → ci
Test automation that writes itself
Click through your app once. tapstep turns it into a plain-text test that runs on web, Android and iOS — and lives in your repo like code.
Free during the beta — no card, no code required.
appId: ${STAGING_URL}commands: - launchApp - tapOn: "Log in" - inputText: "demo@example.com" - tapOn: "Continue" - assertVisible: "Welcome"How it works
Record
click through your app
YAML
a readable file in your repo
Run
web · Android · iOS
Publish
commit + push, in plain words
ai-native
AI can drive it too
The built-in agent sees your screen and your tests: ask it to record a flow — it taps through the app, writes the YAML, runs it and heals broken selectors.
- Built-in chat in the desktop app — every file edit shows up as a diff, with a checkpoint before changes.
- Bring your own model: Anthropic, any OpenAI-compatible endpoint, or a fully local Ollama — nothing leaves your machine.
- Or connect Claude Code, Cursor and any MCP client straight to a device.
Record, don't script
Click through your app in a live device mirror — every tap becomes a step. Your first test ships in minutes, with zero code.
Write once, run everywhere
The same flow drives Chrome, Firefox, Android devices and iOS simulators. Platform quirks stay in the engine, never in your tests.
Tests that live in git
Every test is a readable file in your repo. Branch it, review it, diff it — history, reviews and CI come for free.
Built for CI from day one
Run headless in any pipeline, watch mode locally, JUnit out. A pinned managed Chromium makes every run reproducible.
Watch runs happen live
Steps turn green in real time next to a live device mirror — with per-step network traffic the moment something breaks.
Cloud devices — coming soon
Real cloud iPhones, Pixels and browsers beside your local ones, same Run button. iOS tests from Windows and Linux.
Your first green test in two minutes
Install the app, point it at your staging URL and record a flow — you walk away with a plain file you can run forever.