AI shopping tests
An agent tries to buy from you. Every step it takes is recorded.
tragent drives a real headless browser the way an AI assistant would — reading the page, deciding, clicking — and keeps the trace when it gives up.
- Loop
- observe → think → act
- Tools
- 9
- Browser
- headless Chrome
- Providers
- Anthropic · OpenAI · OpenRouter
The need
Your own tests prove a human can buy. They say nothing about an agent.
An AI assistant shopping on a customer's behalf does not follow your happy path. It reads whatever the page gives it, decides what to do next, and acts — then does it again, up to forty times, with no memory of your intended flow and no patience for a modal it cannot parse.
When it fails, nothing in your stack notices. There is no JavaScript error, no 500, no abandoned-cart event you can distinguish from a human changing their mind. The agent simply stops and tells its user it could not complete the purchase.
A cookie banner that a person dismisses without thinking absorbs an agent's entire step budget.
A size selector that only responds to a real pointer event leaves the agent unable to reach the cart.
A checkout that renders its total only after a scroll-triggered fetch reads as an empty order.
Browser tests assert the path you wrote them for. They pass while an agent that improvises around the same page never reaches checkout.
How it works
The loop is deliberately small, and every part of it is bounded.
Observe
The agent receives a structured snapshot of the page — interactive elements, headings, prices, and whether JSON-LD is present — rather than raw HTML it would have to parse.
Think
A model chooses one of nine tools: navigate, click, type, select, scroll, read_page, extract, go_back, or done. Anything else counts as a failed step.
Act
tragent executes the tool against headless Chrome, records the result, and loops. Every step is stored with its reasoning, the action taken and what came back.
Stop
A run ends for one of six stated reasons: done, max_steps, breaker, budget, error or canceled. The reason is part of the result, because “it stopped” and “it gave up after six failed clicks” are different findings.
- passAssistant-style browser agentdrives the UI like ChatGPT, Gemini or Claude5 runs
- passAPI-first agentprefers structured endpoints, falls back to UI5 runs
Two agent styles ship built in. Assistant drives the UI like a person; API-first reads structured data before it browses.
What it brings
The value is not that an agent ran. It is that you can read exactly what it did.
A trace, not a verdict
Every step keeps the agent's reasoning, the tool it called and the result. When a journey fails you get the moment it went wrong, not a red cross next to the whole flow.
Runs that cannot run away
Step limits, token and cost budgets, and a circuit breaker that trips after repeated failed tool calls. An agent stuck in a loop stops costing money in seconds, not hours.
Journeys written in your users' words
Suites are YAML. A test is a goal — “Add a black running shoe in size 10 to the cart” — with constraints and expectations, not a list of selectors that breaks on your next redesign.
Your choice of model
Anthropic and OpenAI directly, or everything through OpenRouter with one flag. An agent style names a provider; swapping it does not change the suite.
Boundaries
What it does not do.
Stated here so you do not have to discover it in a pilot.
It is not ChatGPT or Gemini.
tragent approximates how an assistant behaves; it does not proxy the real products. Treat a pass as strong evidence, not a guarantee about a specific vendor's agent.
It does not place real orders unless you let it.
Runs go against staging or a sandboxed payment path by default. Pointing it at live checkout is a deliberate configuration, not an accident.
Two agent styles ship built in.
Assistant-style browser and API-first. Protocol-native and B2B styles are on the roadmap, not in the box — the landing page illustration is ahead of the product.
See it against your own site. A scan takes about ninety seconds and needs no account.
The rest of the platform
- Readiness scoringNine stages, scored the same way every time, with a stable cause code and a concrete fix behind every failure.
- Release checks in CIRun the suite on every pull request. Fail the build when a stage moves backwards — and only then.
- MonitoringScheduled checks and classified real agent traffic, per agent family, with alerts that fire on a trend rather than on a quiet Sunday.