Test a page or flow

Login page test cases: what a stranger tries

Your sign-in passed with a saved password and an open session, and the invitees will have neither. Mimiq runs the login cases with visitors who start cold.

5 visitors try to .
First test free with an accountRun it from your coding agent

What login page test cases should I run before launch?

Login page test cases cover the states a stranger reaches: a correct sign-in, a wrong password, an empty field, a reset request, and a sign-out followed by the back button. Write the result you expect on screen for each one, not just that the form works. A simulated run sends visitors with a working inbox through each state in a fresh browser, and reports the step where one stopped and the request it sent.

What this looks like in a report

Who
Chidi, a product manager who got a beta invite for a scheduling app
How they arrived
Opened the beta invite email on his phone
Where they stopped
Sign-in form, on the second attempt after a typo

“I typed the password I set last month, and the page says something went wrong. Did my typo lock me out? Is the account even there? I'll try the reset link, if the email ever shows up.”

The fix. Show the same 'Email or password is incorrect' message for a wrong password and an unknown email, keep the email filled in, and make the reset link open the live domain.

An illustration. Run a test to see your own.See a real sample report

Your saved password hides the login failures

Login pages fail at their edges, and your own sign-in never reaches the edges. Your browser fills the saved password, so the form never sees a typed one. Your session stays open, so a sign-out you never tested still looks like a sign-out. An invitee types the password from an email, sometimes with a trailing space, and gets an error that does not say which field is wrong. Then they open the reset link on a phone, and it points at a domain that is not the live site.

  • Sign in with a saved password, then with one typed from scratch on a phone.
  • Enter a wrong password once and check the message and the email field.
  • Request a reset, open the link on a phone, then open it a second time.
  • Sign out, press the back button and check whether the dashboard comes back.

How it works

  1. 01

    List the states the form can be in

    Write one row for each state a stranger can reach, such as signed out, wrong password, unknown email, locked account and reset used.

  2. 02

    Write the result each state should show

    Wrong: 'Login works.' Right: 'A wrong password shows Email or password is incorrect, keeps the email filled in and clears the password field.' A case that does not name the message and the field has nothing to check.

  3. 03

    Run each state from a fresh browser

    Use a phone-sized browser with no saved password, and an inbox that receives the reset email. A case that pastes its password can pass where a typed or autofilled one fails.

  4. 04

    Keep the cases that found a break

    Rerun the states that broke before each beta invite goes out, and after each change to sign-in. A case that caught a reset link on the wrong domain is the one to keep.

Autofill and the Enter key, where the form never sees the password

A browser that autofills a saved password can fill the visible field without firing the input events the page script listens for. The form then reads an empty password, and the button stays disabled or sends nothing. Pressing Enter in the password field should submit the form, but some scripts only listen for clicks. A stranger on a phone may never reach the button at all.

A tell separates the causes. Open the browser's network panel and press sign in. If no request leaves the browser, the page stopped the submit on its own side, so check the form's own validation and the autofilled values. If a request goes out and returns a 401 or 403, the server refused the credentials, and the page should say so. A 500 is a server fault, and a clearer message will not fix it.

The wrong-password message and the locked account

'Something went wrong' tells a stranger nothing, and they assume the account is gone. A message that says 'No account with that email' tells anyone typing a guess which addresses have accounts. The right version is one message, such as 'Email or password is incorrect', shown for both an unknown email and a wrong password, with the email kept in its field and the password cleared.

A locked account needs the same care. A few failed attempts with no message look like a broken site to an invitee who only mistyped twice. The message should say the account is temporarily locked and point to the reset link, without saying how many attempts remain or hinting that the email exists. Test it with a wrong password first, then the correct one.

The reset link that opens the wrong place

A reset email reaches a visitor's inbox. The link inside it is built from the site address the app was given at deploy time. If that address still names staging, the email arrives and the link opens a page that does not match the live app, or no page at all. A link that works once and says expired on reuse is expected. A link that says expired on the first click is a bug.

Right looks like this, in order: the email arrives, the link opens the live domain, the new password form accepts a password different from the old one, and the old password stops working. Wrong looks like a reset email whose link goes to staging, or a reset form that rejects a new password with a message about the old one.

What you get with Mimiq

  1. 01

    Run it by hand, or on every pull request

    Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.

  2. 02

    Bugs and usability problems in one report

    The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.

  3. 03

    Visitors that behave like your audience

    Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.

  4. 04

    A prompt to fix each problem

    Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.

  5. 05

    Follow every visitor

    See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.

The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.

A new sign-in provider or cookie change can break the login again

Login breaks again when the auth provider updates, a cookie moves to a new domain or a session length changes in a settings file. Run the same login cases on every preview before a beta invite goes out, and again after each change to sign-in. On paid credits, visitors can sign in with a test account you give them, so the correct sign-in case runs on every pass.

Starter

Try it on one launch

$9 once
120 credits, never expire

About 4 tests of 5 visitors

  • Visitors on your landing page, signup and checkout
  • Where they left and why, with a fix to copy for each problem
  • Run it in the app or on every pull request
  • Ask any visitor a question, included
  • Test accounts and protected previews
Buy 120 credits

Builder

Test every build

$19 a month
500 credits every month

About 20 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Builder

Pro

Test every release, as a team

$49 a month
1,500 credits every month

About 60 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Pro

Scale

Test at scale, every day

$149 a month
6,000 credits every month

About 240 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Priority support
  • Cancel anytime
Choose Scale
$0for your first test, with a free account (Google sign-in, no card). It includes 50 credits, enough for 10 visitors. After that a visitor uses 5 credits, and packs start at $9 for 120 credits.
See a sample report

Questions

What is the smallest useful set of login page test cases?

Cover five states: a correct sign-in, a wrong password, an empty field, a reset request, and a sign-out followed by the back button. Run each one on a phone as well as a laptop, because autofill and the keyboard behave differently there.

Can visitors test Sign in with Google?

No. A visitor cannot sign in with Google or single sign on, so a visit stops at that button and reports it. Test that flow yourself, in a normal browser, with a real account, and keep the email and password path in the simulated run.

What can a simulated login run not tell me?

It does not predict how many invitees will finish signing up, and it is not a security review. It does not check how passwords are stored, how many guesses an attacker can make or how sessions are issued. Those need an engineer or a security review.

Do I need a real inbox for the reset test?

Each visitor has an email address with a working inbox, so the reset email arrives and the visitor can open the link. Check the domain the link opens. A reset link built on the wrong domain opens the wrong site, even when the message lands in the right inbox. A test that only checks the email arrived misses that bug.

Keep reading

Send visitors and see what breaks first.

Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.

5 visitors try to .