Test and scripting frameworks
BrowserOS neovs Playwright
One is a framework you write code against. The other is a browser you sign into and hand to your agent.
Playwright drives Chromium, Firefox and WebKit from a script you write in TypeScript, Python, Java or .NET. It is the best end-to-end test framework there is, and Microsoft now points it at agents too, through a CLI and an official MCP server.
BrowserOS neo is a browser. You install it, import your Chrome logins in one click, and any agent that speaks MCP opens tabs in it while you watch. It is not a test runner and never will be.
The short version
Choose BrowserOS neo when
- The task is an errand, not something you want to commit to a repository.
- It happens inside accounts you are signed into, and you want that by default.
- You want to watch it happen, and replay it when it goes wrong.
- You would rather install an app than assemble a setup.
Choose Playwright when
- You are writing tests. It is the better test framework, and it is not close.
- The steps must run identically on every commit, with nobody present.
- You need Firefox and WebKit, or SDKs in four languages.
- You want the run to fail loudly when the page changes, not quietly adapt.
Side by side
| Dimension | BrowserOS neo | Playwright |
|---|---|---|
| What it is | BrowserOS neoA browser you install, sign into, and hand to your agent over MCP. | PlaywrightA framework you write code against, in TypeScript, Python, Java or .NET. |
| Describing the work | BrowserOS neoYou tell the agent what you want, in plain language. | PlaywrightYou write the steps as a script, and keep it working as the site changes. |
| Logged-in sites | BrowserOS neoOne-click import of your Chrome logins, into a browser that runs beside your main one. | PlaywrightTest contexts start blank; you script the login once into a storageState file. Playwright MCP differs: persistent profile by default, plus an extension that attaches to tabs you are already signed into. |
| When a page changes | BrowserOS neoThe agent re-reads the page and adapts. It usually copes, and sometimes gets it wrong. | PlaywrightThe locator breaks and the run fails. For a test that is correct behaviour, not a flaw. |
| Several at once | BrowserOS neoSeveral agents share one visible browser, each with its own tabs. | PlaywrightWorkers, shards and parallel contexts, usually headless, built for throughput. |
| Continuous integration | BrowserOS neoNot built for it. This is interactive work on your own machine. | PlaywrightBest in class. Retries, sharding, reporters, first-party CI docs. |
| Browser engines | BrowserOS neoChromium only. | PlaywrightChromium, Firefox and WebKit. |
| Seeing what happened | BrowserOS neoWatch live, then replay the session as a scrubbable video. On by default. | PlaywrightHeaded runs and UI Mode show it live; Trace Viewer replays a run with DOM snapshots, network and console — a deeper technical record than ours. |
| Price and licence | BrowserOS neoFree, AGPL-3.0. You bring your own model keys. | PlaywrightFree, Apache-2.0. Agent use still costs model tokens. |
The row worth pausing on is what happens when a page changes. Playwright fails, because a test is supposed to fail the moment reality stops matching what you wrote. An agent quietly adapting would be a bug. On a Tuesday chore it is the opposite: you want the button found, not a report that it moved.
That is really the whole choice. Durable automation you commit and rerun, or work you want done once, in your own accounts, with someone watching.
Where Playwright is straightforwardly better.
If you are writing tests, use Playwright. Auto-waiting assertions, fixtures, retries, sharding, reporters, codegen and Trace Viewer are a toolchain we do not have and are not building — plus three browser engines and four languages, against our Chromium and MCP.
It is further into agent territory than its reputation suggests, too. Playwright MCP is official, headed by default, keeps logins in a persistent profile, and can attach to your existing Chrome or Edge tabs. “Playwright cannot use your logins” is out of date, and we are not going to say it.
Both are free and open source, so this is not a price argument. Keep Playwright in CI and use neo for the errands that never belonged in a repository. When an errand turns into behaviour the product must never break, that is the moment to stop delegating it and write it down as a test.
Common questions
Is Playwright good for AI agents?
Yes, and Microsoft supports it directly. Agents drive Playwright by generating scripts, through its CLI, or through the official Playwright MCP server, which runs headed by default and keeps a persistent profile.
Can Playwright use my existing Chrome logins?
It depends which part. Test contexts are isolated on purpose, and the documented pattern is to script the login once into a storageState file. Playwright MCP keeps a persistent profile, and its extension can connect to existing Chrome or Edge tabs. BrowserOS neo differs mainly in the default.
Does BrowserOS neo replace Playwright?
No. It has no test runner, no assertions, no CI story, and only Chromium. Keep Playwright for tests and use neo for interactive work inside your real accounts.
Is BrowserOS neo free like Playwright?
Yes. BrowserOS neo is free and open source under AGPL-3.0; Playwright is Apache-2.0. You bring your own model provider keys either way.
Check it yourself
Every claim about Playwright here was read off these pages on 4 August 2026. If something has gone stale, tell us.
- Playwright documentation
- Playwright: authentication and storageState
- Playwright: Trace Viewer
- Playwright MCP server on GitHub
What we could not confirm
- We ran no benchmark, and make no claim about speed, tokens, reliability or setup time in either direction.
- We did not set up the Playwright MCP browser extension ourselves; that claim comes from its documentation.
Give your agent a browser it can sign into.
Free, open source, and it sits beside the browser you already use.