Playwright MCP

Playwright MCP 为现有 Agent 提供浏览器工具。可用结构化快照复现测试页问题,在调用间保留上下文,并区分应用故障、工具错误和会话问题。

复现一处测试网页故障

先复现一个有边界的校验错误,比检查完整结账流程更容易定位。即使根因未明确,报告也应能支持编写回归断言。

测试网址、测试记录、复现步骤、预期校验提示,以及允许执行的最后一步。

复制请求,在 Floatboat 新对话中粘贴,并提供所需资料。

下载 Floatboat

带入 Floatboat 的请求

请求可预览和复制,不会从此处自动发送。

参考来源: Playwright MCP
https://github.com/microsoft/playwright-mcp

先阅读原始说明并核对当前环境与依赖。需要安装或连接新工具时,先提出方案。

我的任务:
使用已配置的 Playwright MCP 复现测试表单校验问题,读取快照并按给定步骤操作,报告预期与实际状态,不提交真实订单。

期望交付:
带实际状态的复现步骤与建议回归断言。证据不足时列出失败步骤与未解决问题。

关于 Playwright MCP

Playwright MCP 是 Microsoft 为 Playwright 浏览器自动化提供的 MCP 接口。它通过可访问性快照及导航、输入、观察等工具操作页面,不必为每次点击都让视觉模型从像素判断。推理由连接的宿主负责,服务操作所选浏览器上下文。

上游 README 也建议编码 Agent 评估独立 Playwright CLI 与官方 Skill,尤其是适合精简终端操作的流程。MCP 则适合需要保留状态、反复检查页面和查看工具结果的调查。这是接口选择,不保证某一种始终效果更好,CLI Skill 也不负责配置 MCP 服务。

浏览器状态取决于配置。持续配置可以保留数据,但多个浏览器实例共用时会冲突;隔离模式则将配置留在内存中。访问既有会话需要对应连接方式。Floatboat 准备 Node 与浏览器后,可采用 Cursor、Codex 对应的 MCP 路径。Apache-2.0 管理服务源码,宿主模型和外部服务条款另计。

用结构化状态开展连续调查

快照帮助识别控件,浏览器上下文保留会话,工具响应说明动作返回了什么。复现具体问题时需要结合三者;任何一项单独存在,都不能证明应用行为已经符合预期。

  • 根据快照进行交互

    browser_snapshot 提供可访问控件及引用,browser_click 或 browser_fill_form 可据此操作,不必从截图猜测选择器。

  • 有状态浏览器上下文

    导航与后续观察可共用所选上下文。配置和隔离选项决定任务使用保留数据,还是全新内存配置。

  • 按判断选择文字与视觉证据

    快照用于文字与控件结构,browser_take_screenshot 用于可见布局。可选工具受服务配置影响,应先查看实际工具列表再安排检查。

需要浏览器上下文的调查

从指定网址和一项预期应用行为开始。校验错误、键盘移动、筛选报表和接口比较需要不同观察,应保留与问题有关的浏览器状态,不必将每次检查扩大为完整测试套件。

复现测试表单校验问题

提供测试网址和无效测试值,例如格式错误的邮箱。通过快照识别字段与提交控件,执行后记录错误提示和保留值。报告应用是否按预期拒绝输入,不把点击成功等同于校验正确。

检查一条键盘导航路径

提供初始页面状态及小表单的预期焦点顺序。执行键盘动作,并在关键步骤检查控件与焦点证据,指出确切不可达或缺少名称的目标。这是一份定向缺陷报告,不是完整无障碍认证。

读取切换周期后的报表

使用获准测试会话,指定日期范围和报表字段。读取记录前先观察选定日期,避免将没有刷新的旧表格当成新周期结果。任务包含下载时,需另查实际文件,不能只看浏览器响应。

为重复代码检查选择 MCP 或 CLI

使用同一小型测试任务比较候选入口的维护步骤、输出和上下文需求。持续交互调查可考虑 MCP,精简终端例行操作可考虑 CLI。记录本次观察,不根据另一工作负载宣称普遍节省 Token。

准备服务与浏览器模式

以下流程使用 MCP 服务、可访问测试表单与获准测试值。开始前先选择浏览器模式,避免保留账号或配置冲突意外改变初始条件。

  • MCP 运行环境

    官方 README 要求 Node.js 18 或更新版本,并记录用 npx @playwright/mcp@latest 启动服务。按宿主的 MCP 设置接入,再查看实际提供的工具。

  • 浏览器配置选择

    内存测试配置可选隔离模式;需要持续配置或既有会话时明确采用相应连接。不要让并行浏览器实例共用一个持续配置。

  • 表单与预期错误

    提供测试网址、字段名称、无效值、允许的提交动作与预期提示,选用不会产生真实购买或生产记录的表单。

复现并解释一项校验问题

首次任务检查表单是否拒绝已知无效值。以下名称来自官方服务,参数与引用仍需读取当前工具定义;不要复用从另一页面或会话复制的元素引用。

  1. 导航并识别表单

    用 browser_navigate 打开测试网址。表单尚未就绪时,用 browser_wait_for 等待已知文字,再执行 browser_snapshot。确认目标字段与提交控件;登录页或不可用页面应作为前提失败报告。

  2. 填写指定测试值

    使用 browser_fill_form 将无效值填入当前字段引用,查看填写状态后,再用 browser_click 点击获准测试提交控件。引用变化时重新取快照定位,不重复操作过期句柄。

  3. 读取应用实际行为

    检查新快照中的预期提示、保留值及导航。问题涉及错误位置或可见性时补截图。应用出现另一种错误时,需与原定校验判断分开,不能都称为成功复现。

  4. 交付复现结果或明确阻塞

    返回网址、浏览器模式、确切输入、动作顺序、预期与实际状态及对应证据。工具断连或配置被占用时单独报告环境问题。交接应让开发者能在修复前后重复同一检查。

相关软件项目

比较这些项目的用途、运行条件和源码许可。

Playwright MCP 常见问题

什么时候 MCP 比 CLI 更合适?
宿主需要保留状态并反复检查丰富浏览器结果时,可选 MCP;精简终端流程可评估 CLI。上游建议帮助选型,不保证当前任务的成本或成功率。
它就是 Playwright 测试运行器吗?
不是。该服务向 Agent 提供浏览器工具,测试运行器则执行维护中的测试套件。调查缺陷后可另写回归测试,但交互会话本身不会生成这套测试。
为什么两个客户端不能共用一个配置?
一个持续配置同一时间只能由一个浏览器实例使用。额外实例应按文档使用隔离模式或独立用户数据目录,否则启动冲突可能被误判成应用故障。
必须使用视觉模型吗?
普通快照交互使用结构化可访问性数据。布局判断仍需视觉证据,坐标式视觉工具也取决于启用能力;应读取当前定义,不假定有截图就有像素控制。
官方 CLI Skill 会安装 MCP 吗?
不会。Playwright CLI 使用型 Skill 指导独立终端接口。MCP 服务需按自己的宿主说明配置;同属一个项目族,不代表安装方式和状态可以互换。
这里如何表述 Floatboat 接入?
官方仓库记录 Cursor、Codex 的 MCP 配置,Floatboat 可在准备运行环境与浏览器后采用对应协议路径。这不表示上游认证 Floatboat,也不表示本页已执行本地安装实测。