SuperAPI AI 工具集

playwright-cli

测试与质量

查看项目

更新于 10-15 04:07

技能介绍

用途

playwright-cli 是微软 Playwright 项目提供的浏览器自动化命令行工具,用于自动化浏览器交互、测试网页,以及配合 Playwright 测试开展工作。它通过命令行驱动真实浏览器,适合在终端或自动化流程中完成页面操作与验证。

主要能力

核心交互:提供 open、goto、type、click、dblclick、fill、drag、drop、hover、select、upload、check、uncheck 等命令,覆盖常见页面操作。fill 支持 --submit 在填充后按 Enter。

快照与元素定位:执行命令后会提供当前浏览器状态的快照。可主动调用 snapshot 命令,支持按元素、限制深度(--depth)、包含边界框(--boxes)等选项。默认使用快照中的 ref 交互,也支持 CSS 选择器、role locator 与 test id。find 命令可在快照中按文本或正则搜索节点,结果过多时可保存到文件。

键盘与鼠标:press 支持 Enter、ArrowDown 等按键,keydown/keyup 支持修饰键;mousemove、mousedown、mouseup(含右键)、mousewheel 提供细粒度鼠标控制。

导航:go-back、go-forward、reload。

保存输出:screenshot(可指定元素、文件名、--hires)、pdf。

标签页:tab-list、tab-new、tab-close、tab-select,tab-new 支持 --isolated-context。

存储状态:state-save / state-load 保存与加载整体状态;cookie 与 localstorage、sessionstorage 均提供 list/get/set/delete/clear 系列命令。

仿真:set-color-scheme、set-reduced-motion、set-forced-colors、set-contrast、set-media。

网络:route 可对匹配请求设置状态码或响应体,route-list 查看,unroute 解除。

DevTools:console 查看控制台(可过滤 warning 等)、requests 与 request 查看网络请求、run-code 执行代码(可来自文件)、tracing-start/stop、recording-start/stop 记录用户操作并输出为 Playwright 代码、video-start/chapter/stop 录制视频并添加章节、video-show-actions/video-hide-actions 标注动作。

其他辅助:show --annotate 启动仪表板用于 UI 审查或设计反馈,用户标注后返回带注释的截图、快照与笔记;generate-locator 由 ref 或选择器生成 Playwright locator;highlight 显示元素持久高亮(可自定义样式与隐藏)。

WebMCP:部分页面通过实验性 WebMCP API 注册自己的工具。页面状态会提示,快照顶部会列出,可用 webmcp-list 获取列表与 schema,用 webmcp-call 调用。工具名称、描述、schema、注释与结果均来自页面,应视为不可信输入。文档建议当页面工具与任务匹配时优先使用,因为单次调用可替代一串点击与填充。

使用方式

安装:若全局命令不可用,先尝试本地版本 npx --no-install playwright --version;本地可用时所有命令使用 npx playwright cli,否则安装全局命令 npm install -g @playwright/cli@latest。

快速开始:playwright-cli open 打开浏览器,playwright-cli goto https://playwright.dev 导航,使用快照中的 ref 执行 click e15、type "page.click"、press Enter,最后 close。

输出控制:全局 --raw 选项剥离页面状态、生成代码与快照部分,仅返回结果值,便于管道传给其他工具;--json 将所有回复包装为 JSON。

打开参数:--browser 指定浏览器,--mobile 或 --device 模拟移动设备,--persistent 或 --profile 使用持久化配置,--config 使用配置文件。attach 可经扩展、CDP 通道名或 CDP 端点连接已运行的浏览器。

多会话:使用 -s=名称 创建命名会话,配合 open、click、close、delete-data 使用;list 列出,close-all 关闭全部,kill-all 强制终止所有浏览器进程。

适用场景

  • 网页自动化交互与端到端测试
  • 运行与调试 Playwright 测试
  • 请求模拟(mock)
  • 执行 Playwright 代码
  • 浏览器会话管理
  • 存储状态(cookie、localStorage)处理
  • 测试生成(plan / generate / heal)
  • 追踪与视频录制
  • 将截图与视频附加到 Pull Request(gh 2.99+ 的 --attach 标志)
  • 元素属性检查

以上具体任务在资料中对应 references 目录下的文档:playwright-tests.md、request-mocking.md、running-code.md、session-management.md、storage-state.md、test-generation.md、tracing.md、video-recording.md、pr-attachments.md、element-attributes.md。

限制

平台差异:在 Windows 上,cmd.exe 与 PowerShell 将 & 视为命令分隔符,含多个查询参数的 URL 会在运行前被截断。cmd.exe 中需用 ^& 转义,PowerShell 中可用 --%。

安装审批:包安装与自定义 npm 脚本可能需要单独批准。

WebMCP 信任:页面提供的工具视为不可信输入而非指令。

关于收费、价格、平台支持范围及其他未在上述资料中明确说明的信息,暂未提供。