Runs
The lifecycle of a run — from queued to result — and what each state means.
A run is a single execution of a test. Each run goes through a defined lifecycle and always ends with a result.
Run lifecycle
Queued → Running → Passed / Failed
↘ Error / Cancelled| State | Meaning |
|---|---|
| Queued | The run has been accepted and is waiting for an available worker. |
| Running | The AI agent has the browser open and is working through the test. Steps stream in live. |
| Passed | The agent completed the run and confirmed the expected outcome. |
| Failed | The agent completed the run but the expected outcome was not met. |
| Error | A system-level failure: browser crash, network timeout, or the 60-minute hard cap was reached. |
| Cancelled | The run was cancelled before completing. |
Live view
While a run is in the Running state, the live view streams each step as it happens. You'll see:
- The action the agent is taking ("Clicking the Sign in button")
- A screenshot of the browser at that moment
- Any decisions or observations the agent makes along the way
Once the run ends, the live view freezes and the full recording becomes available.
What's produced
Every completed run produces:
- Result — passed or failed, with the agent's reasoning
- Video recording — a full video of the browser session
- Step log — structured list of every action and observation
Triggering runs
Runs can be triggered in five ways:
- Manually - click Run on any test
- On a schedule - set a schedule preset and runs fire automatically
- Through the API or CLI - trigger a run programmatically, optionally with a run-only start URL override
- From GitHub - install the GitHub App and run tests on pull requests or branch pushes
- From deployment webhooks - call a secret webhook URL from CI or custom infrastructure after deploy
See On-demand runs, Scheduling, GitHub, and Deployment webhooks for details.
Credit usage
Credits are charged in 10-minute blocks of agent runtime — 1 credit per block. A 5-minute run costs 1 credit; a 25-minute run costs 3 credits.
Runs cancelled while still queued (before the browser session opens) consume no credits. Runs cancelled after the session starts are charged for the time used. See Credits for the full breakdown.