Test your signup flow end to end

Sai signs up on your staging site like a brand-new user: fills the form, opens the verification email, finishes onboarding and pays with a test card. You get a pass/fail report with screenshots, and an issue for every failure.

Paste into Sai, or send it from your agent
Test the signup flow on our staging site end to end, like a brand-new user, and tell me what breaks.

App: https://staging.example.com
Test inbox: qa+signup-<date>@example.com (Gmail, already signed in on this computer)
Paid plan: Stripe test card 4242 4242 4242 4242, any future expiry date, any CVC
CAPTCHA: staging uses Google's reCAPTCHA test keys

Run these paths in Chrome:
1. Happy path: sign up with a new address, open the verification email, follow the link, finish onboarding, and check you land on the dashboard on the Free plan.
2. Duplicate email: sign up again with the same address. Expect a clear error and no second account.
3. Validation: submit with empty fields and a weak password. Each error should appear next to the right field.
4. Resend: request a new verification email and check the first link no longer works.
5. Paid plan: choose Pro, pay with the test card, and check the receipt email and the Pro badge.
Then repeat path 1 in Safari on my Mac.

For every step, record pass or fail, a screenshot and how long it took, plus any console errors you can see.
Only use the staging site, the test inbox and the test card. Never enter real payment details.

When you finish, give me a results table and exact steps to reproduce each failure. Ask me before you open a GitHub issue for any of them.

Watch it run

What Sai does with this prompt

End-to-end testing a signup flow means checking the whole path a new user takes, from the first form field to the first screen after login, including the verification email. Scripts handle the browser part well and struggle with the rest. Sai runs the flow the way a new user would, on a real computer with a real inbox, and reports what broke.

What end-to-end testing a signup flow covers

End-to-end testing of a signup flow runs the complete journey of a new user against a real deployment: entering details, passing validation, receiving and using the verification email, finishing onboarding and reaching the product. It checks that the pieces work together, not only that each one works alone.

Unit and API tests can pass while signup is broken for real users, because the failures live between systems: an email provider, a redirect after verification, a payment step, a cookie that a different browser handles differently.

Why signup tests are hard to keep green

  • The inbox is part of the flow. Scripted tests need an email API, a disposable inbox and patterns to pull the link or code out of the message, all of which break when the email template changes.
  • Selectors drift. A renamed button or a new onboarding step fails a scripted test even when signup still works.
  • Flakiness erodes trust. Google reported in 2016 that almost 16% of its tests had some level of flakiness, and about 84% of the pass-to-fail transitions it observed involved a flaky test.
  • Not everything is in the page. Password manager prompts, file pickers and browser differences sit outside what a page script controls.

What to test in a signup flow

A complete signup check covers these paths. Use the list with any tool:

  1. Happy path: a new user signs up, verifies the email and lands on the right first screen and plan.
  2. Validation: empty fields, invalid email, weak password; every message appears next to the right field.
  3. Duplicate account: the same email cannot create a second account, and the error says what to do next.
  4. Verification email: it arrives, the link or code works once, resend works, and old links stop working.
  5. Social sign-in: "Continue with Google" creates the same account state as email signup.
  6. Paid plans and trials: checkout with a test card, the receipt email and the plan shown in the app.
  7. Onboarding: every step saves, back and skip work, and a refresh does not lose progress.
  8. Second browser: the new user can sign in from another browser or device.

Ways to run end-to-end signup tests, compared

ApproachSetupVerification emailWhen the UI changesBest for
Manual QANoneDone by handNo change neededOccasional checks before a launch
Scripted tests (Playwright, Cypress) with an email APICode, selectors, inbox API keysThrough the email API and regexUpdate selectorsFast regression runs in CI on every commit
AI testing platforms (e.g. Octomind, Momentic, QA Wolf)Connect the app, review generated testsVaries by productSelf-healing tests or a managed teamTeams that want a maintained web test suite
SaiA plain-English promptReads the real inbox in GmailWorks from what is on screenFull-journey checks before release and after agent-written changes

Sai does not replace a scripted suite in CI. Keep Playwright or Cypress for fast checks on every commit, and use Sai for the full journey, the parts outside the page, and the paths nobody has written a test for yet.

How to test your signup flow with Sai

  1. Prepare test data. A staging or preview URL, a test inbox, test payment details and CAPTCHA test keys (see below).
  2. Describe the paths. List the paths to check in plain English. The full prompt is in the Start with a prompt tab above.
  3. Watch the first run. Sai works in a real browser on its computer, and you can follow every step live.
  4. Review the report. You get pass or fail for each path, screenshots, timings and reproduction steps. Sai asks before opening any GitHub issue.
  5. Run it again when it matters. Schedule a nightly run against staging, or trigger it before each release.

Sai ranks #1 on OSWorld, the public benchmark for agents that complete tasks on a real computer. Once Sai completes a task, its steps are kept as code that replays the same way, so the nightly run does not need the model to work it all out again.

From your coding agent: add the Sai MCP server to Claude Code, Codex or Cursor. After the agent changes signup code, ask it to have Sai run the signup check on your preview deployment and read the results before you merge. You can also call POST /v1/agents/message from CI. Read the quick start.

Test data that keeps signup tests safe

  • A test inbox per run. Gmail delivers mail sent to a "+" variation of your address, such as qa+signup-1006@example.com, to the same inbox, so every run gets a fresh address without new accounts.
  • Test cards, never real ones. Stripe's test card 4242 4242 4242 4242 with any future date and any CVC succeeds in test mode. Stripe's agreement prohibits testing in live mode with real payment details.
  • CAPTCHA test keys. Google provides reCAPTCHA v2 test keys for which every verification passes; for v3, Google recommends a separate key for test environments. Use them on staging rather than asking any tool to solve CAPTCHAs.
  • Staging only. Point tests at staging or preview deployments, and clean up the test accounts they create.

Related use cases: write release notes from merged PRs and reproduce a bug report step by step.

Last reviewed October 5, 2026.

Frequently asked questions

What is end-to-end testing for a signup flow?

It runs the whole journey of a new user against a real deployment: the form, validation, the verification email, onboarding and the first screen after login, and checks they work together.

How do I test email verification automatically?

Use a test inbox, such as a Gmail "+" address, then have the test open the email and follow the link or enter the code. Scripted tests do this through an email API; Sai opens the real inbox the way a user would.

Can I do end-to-end testing without code?

Yes. With Sai you describe the paths in plain English and get a pass/fail report with screenshots. Keep a scripted suite in CI for fast checks on every commit.

How do I handle CAPTCHA in automated tests?

Use test keys in your test environment. Google provides reCAPTCHA v2 test keys for which every verification passes, and recommends a separate v3 key for testing. Don't try to solve CAPTCHAs automatically.

Does Sai replace Playwright or Cypress?

No. Playwright and Cypress are faster and cheaper for regression runs on every commit. Sai covers the full journey, the inbox, browser differences and paths nobody has scripted yet.

Can Sai test a paid signup?

Yes, in test mode. Give Sai a test card such as Stripe's 4242 4242 4242 4242 and it will check out, then confirm the receipt email and the plan shown in the app. Never use real card details in tests.

Can my coding agent run the signup test?

Yes. Add the Sai MCP server to Claude Code, Codex or Cursor and ask the agent to run the signup check on your preview deployment after it changes the code, then read the results before merging.

How often should I test my signup flow end to end?

Before every release at minimum, and nightly against staging if signup changes often. Run it right after any change to authentication, email templates or payments.

Know signup works before your users do

Point Sai at staging and get a report on every path, from the first form field to the dashboard.