microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

Playwright – 测试与AI代理的浏览器自动化

是什么

Playwright 是由 Microsoft 维护的开源框架,可使用 JavaScript/TypeScript(以及 Python、.NET、Java)控制 Chromium、Firefox 和 WebKit。它主要是一个 Web 自动化和端到端测试 库,但 README 也强调了特殊工具,使相同浏览器控制可用于 AI 代理(Claude、Copilot 等)。

核心组件

组件 适用人群 获取方式 功能
Playwright Test QA 工程师、编写端到端测试的开发者 npm init playwright@latest 或 npm i -D @playwright/test 支持并行执行、自动等待、内置定位器、追踪、隔离浏览器上下文的测试运行器。
Playwright CLI 需要轻量级命令行接口的编码助手代理 npm i -g @playwright/cli 简单命令(open、type、screenshot 等),代理可调用而无需加载完整模式。
Playwright MCP 希望获得确定性、基于模式的浏览器控制的 LLM 驱动代理 npx @playwright/mcp@latest(或 VS Code 扩展) 运行 模型上下文协议 服务器,将页面作为可访问性树暴露;代理通过元素引用(e5、e10)进行交互。
Playwright Library 任何编写自定义脚本的人——爬虫、PDF 生成、设备模拟 npm i playwright 低级 API,用于启动浏览器、导航、截图、生成 PDF、拦截网络、模拟设备等。
VS Code 扩展 偏好 IDE UI 的开发者 从市场安装 用于运行/调试测试、使用 CodeGen 生成代码、选择定位器和查看追踪的 UI。

对 AI/LLM 工作的重要性

  • MCP 服务器 为 LLM 提供页面的结构化视图(可访问性树),使模型无需视觉即可发出精确操作(click e5),避免了发送完整截图带来的 token 膨胀。
  • CLI 是一种 token 高效的桥梁:代理可发出简短命令,CLI 将其转换为 Playwright 操作。
  • 传统测试和 AI 驱动自动化使用相同的底层浏览器引擎,确保一致性。

典型工作流(测试)

  1. 安装 npm init playwright@latest – 创建包含测试运行器的项目并安装浏览器。
  2. 编写测试 使用 test 和 expect API。像 page.getByRole('button', {name:'Submit'}) 这样的定位器对 UI 变化具有鲁棒性。
  3. 运行 npx playwright test。测试在不同浏览器中并行运行,每个在独立的上下文中执行。
  4. 调试 使用内置追踪(trace: 'on-first-retry')和 Trace Viewer UI。

典型工作流(LLM 代理)

  1. 启动 MCP npx @playwright/mcp@latest(或安装 VS Code 服务器)。
  2. 配置代理 指向 MCP 服务器。
  3. 提示 LLM:“导航到 https://demo.playwright.dev/todomvc 并添加三个项目。”
  4. 模型接收可访问性快照,选择元素引用,并将操作发回 MCP,MCP 在真实浏览器中执行。

语言与平台

  • Node.js(主要)– 上述所有功能。
  • Python、.NET、Java – 通过语言特定绑定提供相同的自动化能力。
  • 在 Linux、macOS、Windows 上以无头或有头模式运行。

学习更多


TL;DR

Playwright 是一个生产级别的浏览器自动化工具包,支持端到端测试,并通过其 MCP 服务器和 CLI 为 LLM 驱动的代理提供清晰、结构化的接口,无需视觉模糊即可控制浏览器。安装与目标匹配的组件,编写测试或提示,让 Playwright 处理驱动 Chromium、Firefox 和 WebKit 的繁重工作。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目