Test a page or flow
Test contact form: does the message reach you?
A contact form can say thanks while the message never reaches you. Mimiq sends simulated visitors through the form in real browsers, with a long message and a file, and shows where each one stopped.
How do I test a contact form before launch?
To test a contact form, send a message the way a stranger would, including a long one and a file if the form takes files. Check that the form shows an error when it fails, not only a thank you, and that a confirmation reaches the address the visitor typed. Then check your own inbox, because the success message on the page does not prove you received anything. A simulated run sends the same kind of message with simulated visitors in real browsers and shows the step and the error where each one stopped.
What this looks like in a report
“I attached the photos and typed the whole story. The page says thanks, but nothing shows in my inbox and the form has not told me anything else. I will call them instead.”
The fix. Show the thank you only after the server returns success, and show the server's error beside the Send button when it fails. Set the message and file limits to the same numbers in the form and on the server.
An illustration. Run a test to see your own.See a real sample report
The thank you can appear before anything is sent
A contact form gives the visitor one signal: the message on the screen. Some forms show that message as soon as the button is pressed, before the server answers. If the server then refuses the message, because it is too long or the file is too large, the visitor still sees thanks and nothing else. The owner never sees the failure either, because their own test message is short and fits every limit. So the first stop is silent, and the owner's check passes.
- Paste a message longer than the text box seems to allow. Does the form send it, or show an error beside the Send button?
- Attach a file just under the size limit and one just over it. Each one needs a clear message, not a silent stop.
- Open the Network tab, press Send and read the status of the request. A thank you after a failed request is a bug.
- Click the email link on a laptop with no mail app set up. Does anything open, or does the link do nothing?
A thank you that does not wait for the server
The fastest way to find a silent stop is the browser's own record of the request. Open the Network tab before you press Send, submit the form, and look at the request the page sent. A status of 200 or 201 means the server accepted it. A 400 or 413 means the server refused the message, and a 500 means it broke while handling it. If the page says thanks and the request says 413, the thank you is the bug, whatever the form intended.
Then check the owner's side. Every simulated visitor has a working inbox, so a confirmation sent to the address the visitor typed reaches it. Check your own inbox, the spam folder and the sender name for the alert the form should send you. A confirmation that arrives while your alert never does means the form reached the visitor and not you.
Limits that differ between the text box and the server
A text box can accept a long message while the server takes only part of it. The server's limit is the one that counts, and when it is passed, the refusal often appears at the top of the page or not at all, far from the Send button. Set the same limit in both places, show it beside the box before the visitor types, and print the reason next to the button when it is passed.
Limits often fail in the wrong unit. A limit counted in bytes runs out sooner than one counted in characters, because accented letters and emoji take more bytes. A message pasted from a word processor can also carry hidden formatting that adds length. Test with a paste as well as with typing, and test one message with an accented name in it.
The email link that depends on the visitor's setup
Some contact pages add a plain email link under the form. A mailto link asks the visitor's computer to open a mail program. On a laptop with no mail app set up, or in a social app's built-in browser, nothing opens, and the visitor reads that as the business not answering. The form is the part you control, so it should not depend on that link working.
Check the link by clicking it on a machine that has no mail app, then check the form beside it. If the link is the only way a visitor can reach you, give it a visible address as text, so the visitor can copy it into any mail program they use. Put that text in the same block as the link, so a visitor who cannot open a mail program still sees it.
What you get with Mimiq
- 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.
- 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.
- 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.
- 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.
- 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 spam check or message limit can drop the form silently
Each new spam check, stricter limit or extra field can make the form refuse a message it accepted last week. Send the same message after each change, with the paste and the file, and again on every preview. A paid run can reach a protected preview when you give it a site password or a bypass secret.
Starter
Try it on one launch
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
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Why does the form say thanks, but I get no email?
The thank you usually comes from the page, not from the server. Check the Network tab for the request, then check the mail the form sends you and its spam folder. A simulated visitor shows the screen they saw, but it cannot read your inbox.
Does a test send a real message to my team?
Yes, if the form is live or on a preview that sends mail. Point it at a test address you control, and write in the message that it is a test, so nobody answers a visitor's request by mistake. Do not put real customer details into a test message.
Will a test tell me how quickly my team replies?
No. It cannot tell you how fast anyone answers, and it does not read your inbox. It shows whether the form accepted the message, what each simulated visitor saw next and the step where a stop happened. Reply times come from your own inbox.
How long should a contact form message be allowed to run?
Long enough for the question a customer really writes, and the same limit in the text box and on the server. Show the limit beside the box before the visitor types, and the error beside the Send button when they pass it.
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.