playwright cli、playwright mcp、playwright--使用区别
Playwright 是“发动机”,Playwright CLI 和 Playwright MCP 是为不同场景设计的“方向盘”。
Playwright 是整个自动化能力的核心,而 CLI 和 MCP 都是为了让 AI 智能体(如 Claude、Copilot)能更高效地调用这个核心而生的高级接口。它们三者的关系可以用下面这张图来概括:

下面是三者的详细解读与对比:
🧱 Playwright:核心自动化引擎
这是微软开发的开源自动化框架,提供统一的 API 来控制主流浏览器(Chrome、Firefox、Safari)。开发者用它编写脚本来完成测试、爬虫等任务。
-
核心用户:质量保障工程师与开发者(人类)。
-
工作方式:通过在代码中调用 API(如
page.click(),page.fill())来控制浏览器。 -
关键特性:支持多语言(JS/Python/Java/.NET)、内置自动等待与重试机制、强大的调试工具(如 Playwright Inspector)。
-
安装方式:
npm install playwright(或其他语言的包管理器)。
💻 Playwright CLI:为“编码智能体”设计的高效命令行工具
这是专为 AI 编码助手设计的命令行工具。它把 Playwright 的功能分解成独立的指令(如 open, type, click),让 AI 能在不编写完整脚本的情况下,像人类一样逐条执行浏览器操作。
-
核心用户:AI 编码智能体 (Coding Agents),如 Claude Code。
-
工作方式:在终端通过
playwright-cli执行简短的命令,AI 读取返回的简洁页面快照(Snapshot)来决定下一步操作。 -
关键特性:
-
Token 高效:仅返回关键结构化信息,不返回冗长的完整 DOM 树,节省 AI 的 Token/上下文消耗。
-
默认无头:默认以无头模式运行,速度更快。
-
持久化会话:支持浏览器状态(Cookie、Storage)在命令间保持。
-
-
安装使用:
-
安装:
npm install -g @playwright/cli@latest -
使用:安装后,AI 可直接执行
playwright-cli open <网址>等命令。
-
🌉 Playwright MCP:为“AI智能体”设计的标准化协议服务器
Playwright MCP 是一个遵循模型上下文协议(MCP, Model Context Protocol)的服务器。它充当桥梁,将 Playwright 的能力打包成标准化的“工具”,供任何支持 MCP 的 AI 客户端调用。
-
核心用户:需要深度集成与探索能力的 AI 应用与工作流(如 Cursor, Windsurf)。
-
工作方式:AI 客户端通过 MCP 协议调用服务器暴露的“工具”,服务器执行操作后返回结构化的可访问性快照(Accessibility Snapshot) 给 AI。
-
关键特性:
-
生态标准:基于 MCP 开放协议,可集成到各种支持 MCP 的 AI 平台。
-
结构化数据:基于可访问性树进行交互,比基于像素的截图更精准。
-
支持复杂逻辑:允许在上下文中维护连续状态,适合迭代推理与长期运行任务。
-
-
安装使用:在你的 MCP 客户端(如 VS Code)配置文件中添加:
{ "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] } } }
📊 一张表看懂三者的区别
| 维度 | Playwright (核心库) | Playwright CLI | Playwright MCP |
|---|---|---|---|
| 定位 | 浏览器自动化框架 | 高效命令行工具 | 标准化MCP服务器 |
| 目标用户 | 人类开发者 (Human) | AI 编码智能体 (Coding Agent) | AI 客户端和长时间运行的工作流 (Agentic Loops) |
| 交互方式 | 编写完整的测试脚本 (如 JS/Python) | 执行简短的playwright-cli指令 |
客户端通过MCP协议调用标准工具 |
| 运行模式 | 无头/有头,由脚本控制 | 默认无头,速度快,Token消耗低 | 默认有头,可在配置中修改 |
| 状态管理 | 由脚本逻辑管理 | 支持非持久化或可选的持久化会话 | 支持在复杂交互中保持持久状态与上下文 |
| 集成与配置 | 通过npm/yarn等包管理器集成 | Agent可直接调用已安装的CLI命令 | 需在客户端添加JSON配置并启动服务器 |
如果想了解更多技术细节,你可以参考官方的文档和 GitHub 仓库:
-
Playwright 官网:获取核心库的完整文档 https://playwright.dev
-
Playwright CLI:查看 npm 包和源码 https://www.npmjs.com/package/@playwright/cli
-
Playwright MCP:查阅在 GitHub 上的官方仓库 https://github.com/microsoft/playwright-mcp
对于UI 自动化测试,你的最佳选择是 Playwright 核心库(也就是通常说的 playwright)。它才是专为人类编写可靠、可维护的测试脚本而生的完整框架。
另外两个工具(CLI 和 MCP)更像是给 AI 智能体 用的“遥控器”,不适合你直接编写和维护测试用例。
为什么核心库是唯一的最佳选择?
-
它是一套完整的测试框架:内置了
test运行器、断言库、并行执行、重试机制和丰富的报告,开箱即用。 -
极其稳定:拥有强大的自动等待和重试逻辑,能有效避免脚本因为页面加载延迟而失败,这是 UI 测试最重要的一点。
-
调试体验一流:可以用
--headed模式亲眼看着浏览器运行,或者用 Playwright Inspector 单步调试每一步操作。 -
编写脚本符合人的思维:你用测试用例的逻辑来组织代码(如
test('用户能成功登录', ...)),而不是零散的点击、输入命令。 -
CI/CD 友好:专门为集成到持续集成流水线做了优化,提供 Docker 镜像和多浏览器并行运行能力。
另外两个为什么不行?
-
Playwright CLI:它把操作拆成一个个独立的命令(
open,click,type),是给 AI 工具(比如 Claude Code)在终端里一步步用的。你用它来写测试,就等于手写一堆零散的命令,无法利用断点、调试器,也没法方便地组织测试逻辑和断言,维护起来会是灾难。 -
Playwright MCP:它是一个“协议服务器”,作用是让支持 MCP 的 AI 应用(如 Cursor, Windsurf)“看到”并操控浏览器。它输出的主要是可访问性快照,不是给人用来直接写测试脚本的,更不提供测试报告、CI 集成等功能。
总结一下:做正儿八经的 UI 自动化测试,请直接用 Playwright 核心库,忘记 CLI 和 MCP。 它们是为不同的世界(AI 驱动操作)准备的。

浙公网安备 33010602011771号