playwright (跨浏览器自动化测试框架)
99,902
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
TypeScript
语言
创建时间
最近更新
项目能做什么
Web 测试与自动化框架,一套 API 即可支持 Chromium、Firefox 和 WebKit。
来源:基于仓库元数据
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
项目简介
Playwright 是由微软开源的现代化 Web 自动化与端到端(E2E)测试框架。它通过统一的 API 支持驱动 Chromium、Firefox 和 WebKit 浏览器,既可用于编写跨浏览器测试与自动化脚本,也能作为 AI Agent 与 LLM 的浏览器交互工具。
核心功能
- 统一的多浏览器支持:一套 API 直接驱动 Chromium、Firefox 和 WebKit。
- 自动等待与 Web 优先断言:无需手动编写强制等待(sleep),自动等待元素变为可操作状态,断言会自动轮询重试直至达成条件。
- 弹性定位器(Locators):以用户视角定位页面元素(如
getByRole、getByLabel、getByPlaceholder、getByTestId),稳定性更高。 - 上下文完全隔离:每个测试运行在独立的浏览器上下文(Browser Context)中,近乎零开销实现环境隔离;支持单次登录后将认证状态保存(
storageState)并在其他测试中复用。 - 执行追踪与调试(Trace Viewer):支持在测试失败时录制执行轨迹、屏幕截图和操作录屏,可通过 Trace Viewer 回溯 DOM 快照、网络请求与控制台日志。
- 开箱即用的高并发:默认跨配置的浏览器多进程并行执行测试。
- 会话监控(Playwright CLI):提供图形化看板实时预览所有运行中的浏览器会话,并支持远程接管控制。
适合谁用
- 前端 / 全栈开发者与 QA 工程师:需要对现代 Web 应用进行可靠、快速的跨浏览器端到端测试。
- 自动化脚本开发者:需要进行网页抓取、自动化操作或表单填报。
- AI Agent 开发者:配合 Claude Code、GitHub Copilot 或通过 MCP 协议为大模型赋予浏览器操作能力。
安装步骤
根据实际使用场景,README 提供了以下几种安装方式:
1. Playwright Test(端到端测试推荐)
使用初始化向导安装:
npm init playwright@latest
或手动安装核心包与浏览器:
npm i -D @playwright/test
npx playwright install
2. Playwright CLI(面向编码 Agent)
全局安装命令行工具:
npm install -g @playwright/cli@latest
可选:安装技能包以获得更丰富的 Agent 集成支持:
playwright-cli install --skills
3. Playwright MCP(面向 AI Agent 与 LLM 驱动的自动化)
直接通过 npx 运行:
npx @playwright/mcp@latest
4. Playwright Library(作为独立浏览器自动化库)
npm i playwright
5. VS Code 扩展
可在 VS Code Marketplace 中搜索并安装 ms-playwright.playwright,用于在编辑器内直接编写与调试测试。
配置说明
README 中提及的配置项与使用示例如下:
1. 追踪配置(playwright.config.ts)
在配置文件中开启 Trace 记录(例如仅在首次重试时捕获):
// playwright.config.ts
export default defineConfig({
use: {
trace: 'on-first-retry',
},
});
查看保存的追踪归档文件:
npx playwright show-trace trace.zip
2. 身份验证状态复用
// 登录后保存状态
await page.context().storageState({ path: 'auth.json' });
// 在其他测试中复用该状态
test.use({ storageState: 'auth.json' });
3. 运行测试
npx playwright test
4. CLI 常用命令示例
# 以有头模式打开页面
playwright-cli open https://demo.playwright.dev/todomvc/ --headed
# 输入文本与按键
playwright-cli type "Buy groceries"
playwright-cli press Enter
# 截图
playwright-cli screenshot
# 打开会话监控面板
playwright-cli show
注:更多完整配置文件选项原文未详细展开,请查看原仓库或官方文档。
常见问题
此部分原文未说明,请查看原仓库 Playwright 官方文档。
原始 README 摘录(英文原文,节选前 3000 字符)
# 🎭 Playwright
[](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[](https://webkit.org/)<!-- GEN:stop --> [](https://aka.ms/playwright/discord)
## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)
Playwright is a framework for web automation and testing. It drives Chromium, Firefox, and WebKit with a single API — in your tests, in your scripts, and as a tool for AI agents.
## Get Started
Choose the path that fits your workflow:
| | Best for | Install |
|---|---|---|
| **[Playwright Test](#playwright-test)** | End-to-end testing | `npm init playwright@latest` |
| **[Playwright CLI](#playwright-cli)** | Coding agents (Claude Code, Copilot) | `npm i -g @playwright/cli@latest` |
| **[Playwright MCP](#playwright-mcp)** | AI agents and LLM-driven automation | `npx @playwright/mcp@latest` |
| **[Playwright Library](#playwright-library)** | Browser automation scripts | `npm i playwright` |
| **[VS Code Extension](#vs-code-extension)** | Test authoring and debugging in VS Code | [Install from Marketplace](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) |
---
## Playwright Test
Playwright Test is a full-featured test runner built for end-to-end testing. It runs tests across Chromium, Firefox, and WebKit with full browser isolation, auto-waiting, and web-first assertions.
### Install
```bash
npm init playwright@latest
```
Or add manually:
```bash
npm i -D @playwright/test
npx playwright install
```
### Write a test
```TypeScript
import { test, expect } from '@playwright/test';
test('has title', async ({ page }) => {
await page.goto('https://playwright.dev/');
await expect(page).toHaveTitle(/Playwright/);
});
test('get started link', async ({ page }) => {
await page.goto('https://playwright.dev/');
await page.getByRole('link', { name: 'Get started' }).click();
await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
});
```
### Run tests
```bash
npx playwright test
```
Tests run in parallel across all configured browsers, in headless mode by default. Each test gets a fresh browser context — full isolation with near-zero overhead.
### Key capabilities
**Auto-wait and web-first assertions.** No artificial timeouts. Playwright waits for elements to be actionable, and assertions automatically retry until conditions are
阅读完整原文
商业机会分析 规则生成(AI 未配置)
综合评分 70.2 分。该项目在“个人可实施性”维度得 57 分,“付费可能性”维度得 72.0 分,差异化空间 70.0 分(评分依据见评分卡)。
将 playwright 改造为垂直场景 SaaS
| 产品构想 | 保留核心能力,针对某一类用户(如某行业团队)做托管版,收取月费。 |
| 目标用户 | 有该需求的中小团队 / 独立站长 |
| 难度/周期 | 中 · 2~4 周(MVP) |
| 收费模式 | 订阅制(如 ¥29~99/月) |
| 竞争风险 | 需验证付费意愿;注意许可证合规 |
| 依据 | 数据支持的判断:许可证与关键词显示存在商用与付费场景 |
面向细分需求的二次开发产品
| 产品构想 | 基于 playwright 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。 |
| 目标用户 | 该细分场景用户 |
| 难度/周期 | 中 · 2~6 周 |
| 收费模式 | 买断制 / 订阅制 / 广告 |
| 竞争风险 | 细分需求规模需验证 |
| 依据 | AI 推测:基于项目主题标签的判断 |
封装为在线小工具或 API 服务
| 产品构想 | 把项目最常用的一个功能做成网页小工具,靠流量变现或按量计费。 |
| 目标用户 | 搜索引擎带来的长尾用户 |
| 难度/周期 | 低 · 1~3 周 |
| 收费模式 | 免费引流 + 增值功能 / API 按量计费 |
| 竞争风险 | 同质化竞争,需做好 SEO |
| 依据 | AI 推测:基于技术栈与部署特征的判断 |
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| n8n-io/n8n | 中文介绍暂未生成 Fair-code workflow automation platform with native AI capabi |
210,026 | TypeScript |
| langgenius/dify | 中文介绍暂未生成 Build Agentic workflows, RAG pipelines, with rich AI model a |
160,889 | Python |
| stablyai/orca | 中文介绍暂未生成 Orca lets you run a fleet of coding agents (e.g. Claude Code |
121,466 | TypeScript |
| Panniantong/Agent-Reach | 中文介绍暂未生成 Give your AI agent eyes to see the entire internet. Read & s |
110,916 | Python |
| D4Vinci/Scrapling | 中文介绍暂未生成 🕷️ The BEST Web Scraping framework that handles everything f |
101,145 | Python |
| puppeteer/puppeteer | 中文介绍暂未生成 JavaScript API for Chrome and Firefox |
95,821 | TypeScript |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 ,最近推送 ,发布过 100 个 Release |
| 社区活跃 | Star 99,902 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/microsoft/playwright.git cd playwright # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。