Run the journey at the API, and keep the browser for the UI.
Playwright is the best tool for testing what users see. Most of a journey happens behind the screen, and an API flow tests that part faster.
One journey, tested two ways.
Log in, add a category, create a product, change its price. A Playwright test in the browser, and an API flow recorded with Stresseur.
Measured on one small shop app in a container sized like a CI runner, not a general benchmark. Read the method.
On that journey, 10 runs took 2.2 s as an API flow and 11.2 s in the browser. Same journey, same checks on the business logic behind the screen.
Time for 10 runs
Each full command, browser or CLI start included.
Passed, of 50 runs
Both stable. This app is too simple to flake.
Button CSS class renamed
A UI-only change. The API did not change.
Agent fix after an API change
Median of 3. Same coding agent, model and prompt.
Faster to run, and harder to break for UI-only changes.
The UI test found the Edit button by its CSS class, so renaming the class broke it. Playwright's own best practices advise against that: a role-based locator would not depend on the class. Write your browser tests that way.
An API flow can't break on markup, because it never sees it. When the API does change, its failure names the step and the server's answer, so the fix starts at the cause.
What each layer is for.
Browser tests, with Playwright
Keep a small set, one per critical journey.
- Layout: the button shows, the form works on a phone
- Client-side logic that never reaches the API
- Cross-browser behavior and accessibility
- Third-party widgets in the page, like a payment form
API flows, with Stresseur
Recorded from real use, run on every pull request.
- The journey's business logic, step by step
- Auth, tokens and IDs passed between requests
- Edge cases: bad input, limits, expired tokens
- A check on every pull request, in seconds
Playwright can call your API too, if you'd rather write those steps by hand. Stresseur records them from the way you use your app, and wires the login token and each new ID into the next step for you.
Cover the journey behind the UI.
Keep Playwright for what users see. Let Stresseur run the journey behind it, on every pull request. Free for one repo. 14-day Team trial, no card.