登录 注册

playwright (跨浏览器自动化测试框架)

去点 Star
开发者工具自动化与工作流
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

[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-158.0.8127.18-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-159.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-27.2-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-informational)](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 章节有说明。