Auretis: plain-language browser test automation with deterministic Playwright assertions
Write steps in plain English. The agent finds the elements, and deterministic Playwright assertions decide the verdict. When it's green, it passed.
01The maintenance tax
Selector-based e2e rots on every UI change
You write a test once, then maintain it forever. A class renames, a div moves, and the suite goes red for reasons that have nothing to do with your product.
You triage false failures instead of shipping, and flaky tests train the team to ignore red. The tests meant to protect the product become the thing you maintain instead of the product.
after the redesign
the same flow in Auretis
02How it works
Write the scenario. The agent re-finds the UI every run.
- 01
Author in plain English
Write one plain-language task, or an ordered step builder with Task, Locate, Act, Assert, and Wait steps. Locate an element once and reference it by number later. It re-resolves each run. It is not a frozen selector.
- 02
A real browser runs it
The agent drives a real browser over Playwright and re-finds every element from your description on each run. A redesign does not break a test that still works.
- 03
You pick the verdict
Pass or fail comes from deterministic Playwright assertions you choose: 23 types, each negatable, with Playwright's own parameters. No LLM sits in the verdict path.
- 04
You get evidence
Every run returns screenshots, on initial load and after each action, plus a written reason for the pass or the failure.
test-case · search-returns-results
step 4 asserts on the element from step 3, referenced by number
03The verdict
The agent finds the UI. It never gets a vote on the verdict.
When an Auretis test passes, a real Playwright check passed, because you chose that check. Not "the AI thought it looked right."
the full assertion enum
- to_be_attached
- to_be_visible
- to_be_in_viewport
- to_be_checked
- to_be_disabled
- to_be_editable
- to_be_empty
- to_be_enabled
- to_be_focused
- to_contain_class
- to_contain_text
- to_have_attribute
- to_have_class
- to_have_css
- to_have_id
- to_have_js_property
- to_have_role
- to_have_text
- to_have_value
- to_have_values
- to_have_accessible_description
- to_have_accessible_error_message
- to_have_accessible_name
04Also shipped
Shipped today, not roadmap
reach
Drives pages selectors can't
The agent adapts to how each page is built, so it drives shadow-DOM and anti-bot pages that selector-only tools can't reach.
schedules
Regressions on a cron you set
Daily, weekdays, weekly, monthly, or any cron expression, in your timezone.
0 6 * * 1-5 · Europe/Warsaw
security
A firewall before the model
A fail-closed firewall screens every input for prompt injection before it reaches the model.
access control
Per-project RBAC
Role-based access with per-project membership, strict tenant isolation, and immutable audit trails.
05Early access
Auretis is in closed beta
Access is invite-only right now. Tell us what you test today and where the suite hurts, a short email is enough.