Playwright

Cross-browser end-to-end web testing and browser automation with a single API for Chromium, Firefox, and WebKit.

Framework
npm
v1.63.0
96,772 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
92 /100 Excellent
Development Activity 100
Maintenance 100
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
91 /100 Excellent
Architecture 92
Code Quality 90
Innovation 92
Learning Curve 88

Playwright is an open-source framework from Microsoft for reliable end-to-end testing and browser automation. It drives Chromium, Firefox, and WebKit through one unified API, so a single suite of tests exercises every major rendering engine. Auto-waiting, web-first assertions, and full browser-context isolation eliminate the flakiness that plagues traditional automation tools.

Beyond its full-featured test runner, Playwright works as a general-purpose automation library for scripting, scraping, and driving browsers from AI agents. Built-in tooling such as the codegen recorder, trace viewer, and parallel execution across browser contexts makes it a complete platform for verifying and automating modern web applications.

What You Get

  • A cross-browser engine that runs the same tests against Chromium, Firefox, and WebKit through one API.
  • A parallel, isolated test runner with auto-waiting and web-first assertions that retry until conditions are met.
  • Resilient locators (getByRole, getByLabel, getByTestId) that target elements the way users perceive them.
  • Debugging and authoring tooling: the trace viewer, codegen recorder, UI mode, and step-through inspector.
  • A standalone automation library and CLI usable for scripting, scraping, and driving browsers from AI agents.

Common Use Cases

  • Writing end-to-end test suites that validate critical user flows across every major browser engine.
  • Automating repetitive browser tasks such as form submission, scraping, and PDF or screenshot generation.
  • Capturing traces and videos of test runs to debug intermittent CI failures.
  • Driving a real browser from AI agents and LLM-based automation via the CLI and library APIs.

Under The Hood

Architecture Playwright is a pnpm-workspace monorepo (packages/*) whose engine, playwright-core, splits cleanly into a client that exposes the public API (packages/playwright-core/src/client) and a server-side implementation (browserServerImpl.ts, androidServerImpl.ts) that speaks a defined wire protocol to patched browser builds. The public playwright package is a thin wrapper over playwright-core, adding the CLI (cli.js), while @playwright/test layers a test runner, fixtures, and reporters on top. This protocol-driven client/server separation is what lets one API drive Chromium, Firefox, and WebKit uniformly and enables out-of-process and remote automation.

Tech Stack The codebase is ~91% TypeScript, built and linted with a strict eslint.config.mjs and tsconfig, with 109 dev dependencies orchestrated through workspace scripts. It maintains its own browser patches (browser_patches/) rather than relying solely on stock builds, and ships companion packages for component testing (playwright-ct-react, playwright-ct-vue), HTML reporting, and trace viewing. The single runtime dependency of the playwright package is playwright-core, keeping the installable surface small.

Code Quality Testing is exhaustive: over 500 spec files span library, page, test-runner, electron, android, and installation suites, exercising real browsers across engines. A dedicated eslint config, editorconfig, and DEPS.list dependency manifests enforce internal module boundaries. Consistent naming, typed public surfaces, and a large contributor base (770+) backed by Microsoft signal a mature, well-governed project.

API Design The public API is a benchmark for developer experience: user-facing locators (getByRole, getByLabel, getByTestId) read like intent, auto-waiting removes manual timing, and web-first assertions retry automatically. Getting started takes a few lines, and tooling — codegen to record tests, the trace viewer to replay them, and UI mode — dramatically lowers the effort of authoring and debugging. Documentation at playwright.dev is thorough and example-rich.

Used by 295 apps in this directory

Ruby
50%
Other

Chatwoot

Customer Support

37,254

Open-source omnichannel customer support platform with AI-powered agents, live chat, and self-hosting — a full Intercom and Zendesk alternative.

View details
95
Repo Health
78
Technical
69
Dependency
Built with
Ruby 50%
Vue 25%
JavaScript 22%
Updated 1 weeks ago
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

52,202

All-in-one AI desktop client with 300+ assistants and multi-model support

View details
89
Repo Health
84
Technical
70
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

Cline

AI Code Assistants

69,455

An open-source AI coding agent that lives in your editor and terminal — reads and edits your codebase, runs commands, browses the web, and requires human approval for every action by default.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

Cline

AI Code Assistants

69,455

An open-source AI coding agent that lives in your editor and terminal — reads and edits your codebase, runs commands, browses the web, and requires human approval for every action by default.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
Go
75%
AGPL 3.0

Coder

Code Editors · Developer Tools · Devops

16,729

Self-hosted cloud development environments and AI coding agents — defined in Terraform, connected via WireGuard, automatically shut down when idle.

View details
91
Repo Health
90
Technical
65
Dependency
Built with
Go 75%
TypeScript 23%
Updated 1 weeks ago
TypeScript
45%
Other

Convex Backend

Databases · Developer Tools

12,617

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript 45%
Rust 43%
Updated 1 weeks ago
TypeScript
45%
Other

Convex Backend

Databases · Developer Tools

12,617

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript 45%
Rust 43%
Updated 1 weeks ago
PHP
81%
Apache 2.0

Coolify

Devops · Hosting Control Panel

62,328

Open-source self-hosted PaaS — deploy apps, databases and 280+ services on your own servers with no vendor lock-in

View details
92
Repo Health
86
Technical
70
Dependency
Built with
PHP 81%
Blade 16%
Updated 1 weeks ago
PHP
78%
Other

Craft CMS

CMS

3,609

A developer-first PHP CMS with clean-slate content modeling, auto-generated GraphQL API, and a four-tier edition system that scales from solo projects to enterprise deployments.

View details
96
Repo Health
83
Technical
62
Dependency
Built with
PHP 78%
JavaScript 14%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers