beryl vs playwrightThe framework is free.
The framework is free.
The engineers aren't.
This one isn't a rivalry, Beryl runs on Playwright.
Every Beryl test ends up as a normal Playwright test file, exportable any time. What Playwright leaves to your engineers — writing tests, logins and email codes, scheduling, triage, fixes after every UI change — is the part Beryl does for you.
Beryl runs on Playwright — every test ends up as a normal Playwright test file. The difference is who does the work: your team, or the AI coding assistant you already use plus Beryl.
Where they differ
What it is
Beryl
A testing service on top of Playwright. The AI coding assistant you already use writes the tests; Beryl runs, repairs, and reports them
Playwright
Microsoft's free, open-source tool for driving a browser from code to test websites
How they relate
Beryl
Runs Playwright underneath — every test becomes a normal Playwright file, run in real Chrome
Playwright
The engine itself — two layers, not two rivals
Who writes the tests
Beryl
Your coding assistant — it clicks through your app in a live browser and writes each test as a step-by-step plan
Playwright
Your engineers, by hand — every test file, login helper, and shared setup
What a test looks like
Beryl
A step-by-step plan plus one line stating what it must prove, turned into a Playwright test. No AI runs during the test itself
Playwright
Code — TypeScript or JavaScript (also Python, Java, .NET)
Setup
Beryl
None to own — timeouts, retries, browser settings, and result storage are handled
Playwright
Config file, test runner, reporting, CI wiring — yours to build and keep working
When the UI changes
Beryl
Beryl repairs tests broken by cosmetic changes (a moved or renamed button); a genuine break stays red and is flagged as such
Playwright
Yours — update tests after every UI change and work out which failures are real
Logging in
Beryl
Beryl keeps a test account, signs in once per run, and reuses that login in every test
Playwright
Hand-rolled — a login script, saved browser sessions, credentials in CI secrets
Email codes & login links
Beryl
Built in — each project has its own inbox; a test reads the code or follows the link, on your laptop too
Playwright
Not covered — you connect an email-testing service and write the glue code
What a test can check
Beryl
Everything Playwright checks, plus whether the action took effect — record saved, item gone, count went up
Playwright
The state of the page — text is visible, the URL matches, an element exists
When a test fails
Beryl
Screenshots, a step-by-step trace, and a video-like replay — saved for every run
Playwright
Trace viewer and HTML report — excellent, but per run, on the machine that ran it
Run history
Beryl
Pass rates and flaky-test trends per project and environment
Playwright
One report per run — history and trends are yours to build
Scheduling & alerts
Beryl
Daily or weekly runs per environment; Slack alerts on failures
Playwright
Bring your own CI cron and notifications
Browsers
Beryl
Chrome (Chromium), managed for you — in the cloud or on your machine
Playwright
Chromium, Firefox, WebKit (Safari), plus phone emulation
Cost
Beryl
A paid service — what it saves is engineering time
Playwright
Free and open source — you pay in engineering time
Leaving Beryl
Beryl
Export any time — standard Playwright test files that run anywhere, without Beryl
Playwright
It is the format — nothing to leave
Best for
Beryl
Product teams that want their app tested without owning a test codebase
Playwright
Engineering teams that want full control of test code
| Beryl | Playwright | |
|---|---|---|
| What it is | A testing service on top of Playwright. The AI coding assistant you already use writes the tests; Beryl runs, repairs, and reports them | Microsoft's free, open-source tool for driving a browser from code to test websites |
| How they relate | Runs Playwright underneath — every test becomes a normal Playwright file, run in real Chrome | The engine itself — two layers, not two rivals |
| Who writes the tests | Your coding assistant — it clicks through your app in a live browser and writes each test as a step-by-step plan | Your engineers, by hand — every test file, login helper, and shared setup |
| What a test looks like | A step-by-step plan plus one line stating what it must prove, turned into a Playwright test. No AI runs during the test itself | Code — TypeScript or JavaScript (also Python, Java, .NET) |
| Setup | None to own — timeouts, retries, browser settings, and result storage are handled | Config file, test runner, reporting, CI wiring — yours to build and keep working |
| When the UI changes | Beryl repairs tests broken by cosmetic changes (a moved or renamed button); a genuine break stays red and is flagged as such | Yours — update tests after every UI change and work out which failures are real |
| Logging in | Beryl keeps a test account, signs in once per run, and reuses that login in every test | Hand-rolled — a login script, saved browser sessions, credentials in CI secrets |
| Email codes & login links | Built in — each project has its own inbox; a test reads the code or follows the link, on your laptop too | Not covered — you connect an email-testing service and write the glue code |
| What a test can check | Everything Playwright checks, plus whether the action took effect — record saved, item gone, count went up | The state of the page — text is visible, the URL matches, an element exists |
| When a test fails | Screenshots, a step-by-step trace, and a video-like replay — saved for every run | Trace viewer and HTML report — excellent, but per run, on the machine that ran it |
| Run history | Pass rates and flaky-test trends per project and environment | One report per run — history and trends are yours to build |
| Scheduling & alerts | Daily or weekly runs per environment; Slack alerts on failures | Bring your own CI cron and notifications |
| Browsers | Chrome (Chromium), managed for you — in the cloud or on your machine | Chromium, Firefox, WebKit (Safari), plus phone emulation |
| Cost | A paid service — what it saves is engineering time | Free and open source — you pay in engineering time |
| Leaving Beryl | Export any time — standard Playwright test files that run anywhere, without Beryl | It is the format — nothing to leave |
| Best for | Product teams that want their app tested without owning a test codebase | Engineering teams that want full control of test code |
Why teams put Beryl on top
With Beryl
- You have no browser tests, and nobody whose job it is to write them
- Sign-up, email-code, and login-link flows are what needs covering
- You'd rather have failures repaired or flagged than triaged by hand
- You ship from Claude Code or Cursor and want tests written in that loop
- You want to keep Playwright's format — export any time
Where plain Playwright fits
- Engineers want full control — network mocking, custom setup, component tests
- You need Firefox and Safari coverage
- Everything must live in your repo, no outside services
- You have a healthy Playwright suite and a team to maintain it
Playwright is an open-source project from Microsoft, summarized as of August 2026. Layers, not sides — every Beryl test is a Playwright test underneath. The question is who does the work, not which engine wins.