- Test Mobile Web. Native mobile emulation of Google Chrome for Android and Mobile Safari. The same rendering engine works on your Desktop and in the Cloud.
-
- Auto-wait. Playwright waits for elements to be actionable prior to performing
- actions. It also has a rich set of introspection events. The combination of the two
- eliminates the need for artificial timeouts - the primary cause of flaky tests.
-
-
- Web-first assertions. Playwright assertions are created specifically for the
- dynamic web. Checks are automatically retried until the necessary conditions are met.
-
-
- Tracing. Configure test retry strategy, capture execution trace, videos, screenshots
- to eliminate flakes.
-
- Browsers run web content belonging to different origins in different processes.
- Playwright is aligned with the modern browsers architecture and runs tests out-of-process.
- This makes Playwright free of the typical in-process test runner limitations.
-
-
- Multiple everything. Test scenarios that span multiple tabs, multiple origins and multiple users.
- Create scenarios with different contexts for different users and run them against your server, all in one test.
-
-
- Trusted events. Hover elements, interact with dynamic controls, produce trusted events.
- Playwright uses real browser input pipeline indistinguishable from the real user.
-
-
- Test frames, pierce Shadow DOM. Playwright selectors pierce shadow DOM and
- allow entering frames seamlessly.
-
+
+);
+
+const paths: PathCardProps[] = [
{
+ title: "Playwright Test",
+ description: "Full-featured test runner with auto-waiting, assertions, tracing, and parallelism across Chromium, Firefox, and WebKit.",
+ install: "npm init playwright@latest",
+ href: "docs/intro",
+ linkText: "Testing documentation",
},
{
- title: "Full isolation \u2022 Fast execution",
- description: (
- <>
-
- Browser contexts. Playwright creates a browser context for each test. Browser
- context is equivalent to a brand new browser profile. This delivers full test isolation
- with zero overhead. Creating a new browser context only takes a handful of milliseconds.
-
-
- Log in once. Save the authentication state of the context and reuse it in all the tests.
- This bypasses repetitive log-in operations in each test, yet delivers full isolation of independent tests.
-
- >
- ),
+ title: "Playwright CLI",
+ description: "Token-efficient browser automation for coding agents like Claude Code and GitHub Copilot. Skill-based workflows without large context overhead.",
+ install: "npm i -g @playwright/cli@latest",
+ href: "https://github.com/microsoft/playwright-cli",
+ linkText: "CLI documentation",
},
{
- title: "Powerful Tooling",
- description: (
- <>
-
- Codegen. Generate tests by recording your actions. Save them into any language.
-
-
- Playwright inspector. Inspect page, generate selectors, step through the test execution, see click points, explore execution logs.
-
-
- Trace Viewer. Capture all the information to investigate the test failure. Playwright trace
- contains test execution screencast, live DOM snapshots, action explorer, test source, and many more.
-
- Playwright enables
- reliable end-to-end testing for modern web apps.
+ Playwright enables reliable
+ web automation for testing, scripting, and AI agents.
+
+ One API to drive Chromium, Firefox, and WebKit — in your tests, your scripts, and your agent workflows.
+ Available for{' '}
+ TypeScript,{' '}
+ Python,{' '}
+ .NET, and{' '}
+ Java.
+
+ Playwright waits for elements to be actionable before performing actions.
+ Assertions automatically retry until conditions are met. No artificial timeouts,
+ no flaky tests.
+
+
Test isolation
+
+ Each test gets a fresh browser context — equivalent to a brand new browser profile.
+ Full isolation with near-zero overhead. Save authentication state once and reuse it
+ across tests.
+
+
+
+
Resilient locators
+
+ Find elements with selectors that mirror how users see the page:{' '}
+ getByRole, getByLabel, getByPlaceholder,{' '}
+ getByTestId. No brittle CSS paths.
+
+
Parallelism and sharding
+
+ Tests run in parallel by default across all configured browsers.
+ Shard across multiple machines for faster CI. Full cross-browser coverage
+ on every commit.
+
+
+
+
+
+ {/* Agent features */}
+
+
+
+
Accessibility snapshots, not screenshots
+
+ Agents interact with pages through structured accessibility trees — element roles,
+ names, and refs. Deterministic and unambiguous, no vision models required.
+
+
MCP server
+
+ Drop-in Model Context Protocol server
+ for VS Code, Cursor, Claude Desktop, Windsurf, and any MCP client. Full browser
+ control through standard tool calls.
+
+
+
+
CLI for coding agents
+
+ Token-efficient command-line interface with installable skills. Purpose-built
+ for Claude Code, GitHub Copilot, and similar coding agents that need to balance
+ browser automation with large codebases.
+
+
Session monitoring
+
+ Visual dashboard with live screencast previews of all running browser sessions.
+ Click any session to zoom in and take control.
+
+ Record your actions in the browser and Playwright writes the test code.
+ Generate assertions from the recording toolbar. Pick locators by clicking
+ on elements.
+
+ Full timeline of test execution with DOM snapshots, network requests,
+ console logs, and screenshots at every step. Investigate failures
+ without re-running.
+
+ Run, debug, and generate tests directly in the editor.
+ Set breakpoints, live-inspect locators in the browser, and view
+ full execution traces in the sidebar.
+
+
+
+
+
+ {/* Cross-browser */}
+
+
+
+
+ Any browser. Any platform. Chromium, Firefox, and WebKit on Linux, macOS, and Windows.
+ Headless and headed. Also available for{' '}
+ Python,{' '}
+ .NET, and{' '}
+ Java.
+