Test Chain sits in front of your app as a proxy. Click through a flow once — login, checkout, an email verification — and replay it on demand, in CI, or on a schedule.
Works inside the browser you already use. Test Chain proxies your app, injects a recorder transparently, and drives the real DOM — so what you test is exactly what ships, not a mocked stand-in for it.
No SDK, no code changes — just record, replay, and schedule.
No SDK, no injected package, no code changes to your app. Test Chain proxies the page and injects a recorder transparently.
Smart selector generation and network-idle waits so replays don't flake on dropdowns or async UI.
Built-in inbox polling for magic links and verification codes — test signup and login end to end.
Run suites on a cron schedule and get an email the moment a flow breaks, with a screenshot of the failing step.
A few examples of the kind of suite that takes minutes to record and seconds to replay.
Fill the form, poll a real inbox for the code, confirm the dashboard loads.
Add to cart, apply a promo code, confirm the order total before payment.
Request a reset link, click through from the inbox, set a new password.
A few decisions we won't undo, because they're the reason the tool is trustworthy.
If it needs a script tag to test your app, it's testing an app plus a harness — not the app your users see.
Every session gets its own cookie jar and namespaced storage. Parallel runs never see each other's state.
One natural-language step for the part that's awkward to record by hand — not a black box for the whole suite.
A scheduled run that breaks emails you the failing step and a screenshot — before your users find it first.
Three steps from a manual flow to an automated one.
Enter your app's URL — Test Chain loads it through the proxy, no setup required.
Hit record and use your app normally. Every click, input, and navigation is captured.
Replay on demand, wire it into CI, or schedule it with failure alerts by email.
How recording, replay, and scheduling actually work under the hood.
No. Test Chain runs as an HTTP proxy — you give it your app's URL and it loads the page through the proxy, injecting a recorder transparently. There's no script tag, package, or config change on your side.
An email step polls a real inbox (via Mailsac) every 2.5 seconds up to a timeout you set, then extracts a link or one-time code from the message. No mocking — the actual email your app sends gets tested.
No. Every session gets its own cookie jar and namespaced localStorage, so parallel or scheduled runs against the same app never bleed into each other's state.
Yes — attach a cron expression and a notify address to any suite. If a step fails, you get an email with the exact failing step and a screenshot.
Actions autosave 800ms after every change. If your browser closes mid-recording, the session is restored automatically as long as it's under 24 hours old.
Create a workspace in under a minute — no credit card required.