The TestSprite CLI is now live — open source.Star it on GitHub

Test Every Vercel Preview Before It Merges

Every pull request gets a fresh Vercel preview URL, and almost nobody tests it. TestSprite listens for the deployment event Vercel already reports to GitHub, works out the preview URL, runs your tests against it in a real cloud browser, and comments the result back on the pull request — with no changes to your repository.
Type
Solution
Language
English

Seamlessly Integrates With Your Favorite AI-Powered Editors

Claude CodeCodexVisual Studio CodeCursorTrae
We don't build or deploy anything. Vercel does that, and tells GitHub when the URL is live. We listen for exactly that moment, then test what it produced.

No Workflow File

TestSprite installs as a GitHub App and only reads events, so it sits alongside your Vercel pipeline rather than inside it. Nothing is added to .github/ and your existing workflows are untouched.

A URL Pattern, Not a Scraper

Vercel's default preview hostnames are built from the branch name, so {branch-slug} is usually the right placeholder rather than {pr}. Placeholders resolve per run: {pr}, {branch}, {branch-slug}, {sha}, and {short-sha} — so https://app-git-login-fix-team.vercel.app becomes https://app-git-{branch-slug}-team.vercel.app.

Verify Before You Save

Send Test Event runs the whole flow against a sample pull request exactly like a real trigger. A comment appears in about 30 seconds — open the URL in it and confirm it is the environment you expect before creating the trigger.

A Fix Prompt, Not Just a Red Mark

Each failure expands to show what was expected, what was observed, a screenshot from the moment it broke, and a suggested fix prompt written to be pasted straight into your AI coding agent.

Priority
Test
Status
HIGH
TC001_Preview_Loads_Without_Auth_Wall
Pass
HIGH
TC002_Checkout_Completes_On_Preview
Failed
MEDIUM
TC003_ISR_Page_Serves_Fresh_Content
Pass
MEDIUM
TC004_Edge_Function_Returns_200
Pass
LOW
TC005_Open_Graph_Tags_Present
Warning

Catch It on the Preview, Not in Production

A preview deployment is the last place a regression is cheap to fix. Turn on Block PR until tests pass and the check becomes required, so a broken flow stops the merge rather than shipping and being found by a user.

Built for Teams Shipping on Vercel

Pull Request or Branch

A pull request trigger tests each preview and comments on the PR. A push trigger tests a shared staging or production environment after every merge and posts a commit check. Both can run at once.

Web UI and APIs Together

Real browser flows against the deployed preview, plus backend API contract tests. Group them into a test list and one gate covers the whole deployment.

Or Drive It From the CLI

The open-source CLI does the same job from any CI system — free to install, Apache-2.0, and it needs only an API key in the environment.

Free Community Version

Offers a free community version, making us accessible to everyone.

Trusted By Businesses Worldwide

"Good job! Pretty cool MCP from TestSprite team! AI coding + AI testing helps you build better software easily!"

"TestSprite offers rich test case generation, clear structure, and easy-to-read code. It also supports simple online debugging with the ability to quickly expand by generating new test cases."

"TestSprite's automation helps us reduce tons of manual work. The developers can easily catch and resolve bugs earlier in the development process."

FAQ

Do I need to add a workflow file?

No. The integration is configured entirely in TestSprite and requires no changes to your repository. It listens to the deployment events Vercel already reports.

How does TestSprite find the Vercel preview URL?

You give it a URL pattern once. Vercel's default preview hostnames are built from the branch name, so {branch-slug} is usually the right placeholder rather than {pr}. Match the pattern against a real preview URL character by character, then use Send Test Event to confirm it resolves correctly before saving.

What if the preview URL has an unpredictable hash in it?

The pattern field expects something predictable. If your host generates random subdomains with nothing stable in them, configure an alias URL for the preview environment and point the pattern at that instead.

My tests see a login page instead of my app. Why?

Deployment Protection is enabled on the Vercel project, so the preview URL sits behind an authentication wall and an external tester receives the login screen. The tests do not error — they describe a page nobody expected. Either disable protection for the preview environment, or use Vercel's Protection Bypass for Automation, which accepts its secret as an x-vercel-protection-bypass query parameter that can be appended to the URL pattern.

What does TestSprite actually test?

Web application UI in a real cloud browser, and backend APIs. It does not drive native iOS or Android UI, desktop applications, or emulators.

Is it free?

The open-source CLI is free to install and Apache-2.0 licensed, and there is a free community tier. Test execution runs in the cloud and consumes workspace credits — 0.5 per frontend run, 0.2 per backend run.

Every Vercel Preview, Checked Before Merge