Playwright: Web testing and automation framework
Cross-browser automation framework with built-in test runner.
Learn more about playwright
Playwright is a Node.js framework for automating and testing web applications across multiple browser engines. It uses out-of-process browser automation, running tests in separate processes from the test runner to avoid typical in-process limitations. The framework includes auto-wait mechanisms for element readiness, web-first assertions with automatic retry logic, and support for multiple browser contexts within a single test. Common use cases include cross-browser end-to-end testing, web scraping, and automated user interaction testing across Chromium, Firefox, and WebKit on Linux, macOS, and Windows.
Out-of-Process Browser Automation
Tests run in separate processes from browsers, avoiding the constraints of in-process runners. Enables testing multiple tabs, origins, and user contexts simultaneously within a single test without architectural limitations.
Unified Multi-Browser API
Single API automates Chromium, Firefox, and WebKit without engine-specific code. Browser contexts provide full test isolation with independent profiles and minimal overhead, eliminating cross-test contamination.
Auto-Wait and Retry
Automatically waits for elements to become actionable before interactions and retries assertions until conditions are met. Eliminates manual timeout management and reduces flaky tests caused by timing issues.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.fill('#search', 'playwright');
await page.click('button[type="submit"]');
await page.screenshot({ path: 'results.png' });
await browser.close();
})();Maintenance release with Chromium permission fix and internal tooling adjustments; no breaking changes or user-facing migrations required.
- –Chromium now allows local-network-access permission for testing scenarios requiring local network resources.
- –Internal test agent tooling renamed and VSCode MCP workspace references removed; no action needed for standard users.
Introduces Playwright Agents (planner, generator, healer) for LLM-guided test creation; deprecates browserContext backgroundpage event.
- –Run `npx playwright init-agents --loop=<vscode|claude|opencode>` to generate agent definitions for automated test authoring workflows.
- –Stop listening to `browserContext.on('backgroundpage')` as it no longer emits; `browserContext.backgroundPages()` now returns empty array.
Patch release upgrading Chromium to 140.0.7339.186 and fixing two regressions in test execution and HTML reporter.
- –Upgrade to Chromium 140.0.7339.186; Firefox 141.0 and WebKit 26.0 remain unchanged from prior release.
- –Fixes internal 'step id not found' error and broken HTML reporter chip link when no projects are configured.
See how people are using playwright
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
code-server
Run VS Code on remote servers via browser.
cadvisor
Daemon for monitoring container resource usage and metrics.
qr-scanner
Webcam and image QR detection with native API fallback.
git
Snapshot-based version control with distributed repository architecture.
speedtest
Measure bandwidth, latency, and packet loss via Cloudflare's edge network.