For manual testers
You write the test the way you would describe it to a colleague. It runs in a real browser, driven by Playwright, and the same words produce the same run every time.
We are not an alternative to Playwright. We run on it.
Playwright is the execution engine, and it is excellent at being one. What it does not do is read a plain-English step — that is the part this adds. If your team writes Playwright by hand and enjoys it, you do not need us.
No selectors, no page objects, no waits, no test file. A line of plain English per step, in a spreadsheet or typed in.
A real Chromium session, driven by Playwright — the same engine an automation engineer would have written against by hand.
What a manual tester would have attached to a ticket, produced by the run itself.
Go to https://shop.example.com/cart
a navigation, with the page settled before the next step
Enter '2' into 'Quantity'
the field found by its label, then filled
Click 'Update basket'
the control found by its accessible name, then clicked
Check the page contains text 'Subtotal'
an assertion that fails the step if it is absent
There is no generated code to maintain. The step is the artefact, and it is the thing you edit when the application changes.
A suite that fails at random is a suite nobody reads. The reason this one does not is that nothing in the run is probabilistic: the step compiles the same way, the element is chosen by a recorded rule, and a match below the threshold stops the step instead of guessing at it.
Already have the cases in a spreadsheet? Start with the sheet you have. Working from a requirement instead? Start from a user story. Or try the steps above against our demo form.
More on the mechanics in How it works, and what is guaranteed in Guarantees.