mcpField
Q
qa

qa

github.com/browser-use测试与质量119.5k1.4k 次安装3 天前更新
代码仓库

关于 qa

qa 是供 Agent 使用的网站测试技能,可运行指定流程并依据证据给出 1–5 分。它依赖 browser-harness 和云端浏览器,并按视觉能力及流程数量选择测试方式。

主要功能

  1. 01真实浏览器网站测试
  2. 02附证据的 1–5 分评估
  3. 03按视觉能力选择测试路径
  4. 04多流程并行测试
  5. 05云端浏览器清理指引

适用场景

  1. 01评估注册或搜索流程
  2. 02检查本地开发服务器
  3. 03并行测试多个网站流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/browser-use/browser-use --skill qa

安装后在 Claude Code 中输入/qa确认已加载。

附带文件references/browser-use-v2.mdreferences/methodology.md

详细介绍

QA

使用真实浏览器操作网站,评估它完成用户所要求事项的效果,并根据证据给出 1(无法使用)到 5(出色)分。交付内容应是评估结论,而不是一堆截图。

输入

来自用户的调用(/qa 后面的文本,或用户消息):

  • 目标 — 一个 URL(https://…)或本地开发服务器(localhost:5173、:3000、“5173 端口上的应用”)。必填——若缺少,请先询问,不要进行其他操作。
  • 测试内容(可选)— 一个流程或重点(“注册”“搜索 + 筛选”)。若未提供,则测试最明显的顺利流程,并在报告中说明。

你能看到图像吗?(先判断这一点)

此技能的评估结论是视觉性的——你要通过查看截图来评估应用。因此,首先要确认你——运行此技能的 Agent——是否确实能看到图像:

  • 你具备视觉能力(多模态 / 图像输入) → 可以自行评估截图。继续查看下面的“单一流程还是并行分发”,并根据规模选择方案。
  • 你不具备视觉能力(纯文本模型,不支持图像) → 无法评估截图,你启动的同模型子 Agent 也同样无法做到。你必须将视觉评估交给 Browser Use v2 云端 Agent;它们自己的 LLM 会在服务端查看页面,并返回文本评估结论(judge 通过/未通过 + 1–5 的 structuredOutput)。每个流程都使用 v2——即使只有一个流程也一样——请遵循 references/browser-use-v2.md。不要自行操作 browser-harness 来查看截图,也不要分发给同样看不见图像的子 Agent。下面的单一流程与并行分发选择不适用于你——无论如何都用 v2。

如果不确定自己是否能看到图像,请假设不能,并使用 v2。

单一流程还是并行分发(仅适用于具备视觉能力的情况)

根据需求规模选择方案:

  • 测试一个流程 / 一项内容? 无需使用子 Agent——按照 references/methodology.md,直接自行操作 browser-harness。这是执行单项测试最合适、开销最低的工具,也是本技能其他部分的做法。
  • 一次测试多个流程 / 大量内容? 将任务分发给子 Agent——每个流程一个——并行运行。 用户可以选择子 Agent 类型(不明确时请询问;推荐 v2):
    • Browser Use v2 云端 Agent——推荐。 每个流程都会成为一个自主的 v2 任务,包含 judge(通过/未通过)+ structuredOutput(1–5 分),在服务端并行运行,并返回逐步截图证据。会消耗 Browser Use 额度(约每个任务 $0.01 + 每个步骤 $0.006 + 浏览器每小时 $0.02)。每项任务的流程及并行分发方法见:references/browser-use-v2.md。
    • 你所用工具内置的子 Agent——启动 Claude Code 子 Agent(Agent 工具),每个都按照 references/methodology.md 操作 browser-harness。不消耗 Browser Use task 额度;使用你自己的 Agent 额度。

经验法则(仅适用于具备视觉能力的 Agent——纯文本 Agent 的所有任务均使用 v2,见上文):一个流程 → 直接操作 browser-harness;多个流程 → 使用子 Agent(推荐 v2)。 无论采用哪种方式,都必须使用 browser-harness——它既是直接操作工具,也是子 Agent 的操作工具、v2 密钥存储,以及 localhost 隧道。

依赖项:browser-harness(必需——请自行安装)

此技能通过 browser-harness 运行测试——这是一个需要自行安装一次的独立工具。它不是可选项;QA 必须在真实的 Browser Use 云端浏览器上运行,绝不能使用用户本地的 Chrome。

首先,确认它是否可用:

command -v browser-harness && browser-harness <<'PY'
print("browser-harness OK")
PY

如果 browser-harness 不在 PATH 中,请自行安装——不要让用户来安装。 QA 在云端浏览器上运行,因此只需 CLI:browser-harness 的本地浏览器设置(chrome://inspect、--remote-debugging-port、“Allow remote debugging”弹窗)都不适用——全部跳过。安装只需一次(约 30 秒),无需克隆:

command -v uv || curl -LsSf https://astral.sh/uv/install.sh | sh   # the uv installer, only if missing
uv tool install "git+https://github.com/browser-use/browser-harness"
command -v browser-harness                                         # verify it's on PATH now

(没有 uv,也无法运行 curl | sh?请按照 https://docs.astral.sh/uv/getting-started/installation/ 安装 uv,然后重新运行 uv tool install 这一行——或者运行 pipx install "git+https://github.com/browser-use/browser-harness"。)

运行测试唯一还需要的是 BROWSER_USE_API_KEY,它也可以自动获取,无需人工操作——请参阅 references/methodology.md 的步骤 0(可自行注册以获取免费密钥)。因此,全新的机器无需用户进行任何设置,就能从“刚安装 qa”直接开始运行测试。

仅在最后迫不得已时——如果确实无法安装(没有网络或 Python),请停止,并让用户打开 **https://www.browser-harness.com/**,然后将其中的 “prompt for LLMs” 粘贴给 Agent:

为我设置 https://github.com/browser-use/browser-harness。先阅读 install.md,安装并将此仓库连接到我的真实浏览器。然后阅读 SKILL.md,了解常规用法。务必阅读 helpers.py,因为函数都在其中。打开设置或验证标签页时,请将其激活,以便我能看到当前活动的浏览器标签页。安装完成后,在我的浏览器中打开此仓库;如果我已登录 GitHub,请询问我是否要你帮我为该仓库点星,作为交互正常运行的快速演示——只有在我同意后才能点击星标。如果我没有登录,请直接访问 browser-use.com。

重新运行 command -v browser-harness,并且在命令成功前不要继续。绝不能改用用户本地的 Chrome。

不要尝试使用 browser-harness + 云端浏览器以外的任何方式进行 QA。

流程

  1. 确认目标可访问(curl -s -o /dev/null -w "%{http_code}" <url>),并通过标题、README 等了解应用是什么,以便设计合理的测试任务。

  2. 运行测试——首先应用上文“能看到图像吗?”中的视觉能力门槛:

    • 没有视觉能力(仅文本)? → 每个流程都使用 v2 云端 Agent(每个流程一个 v2 任务,每项任务都包含 judge 和 1–5 的 structuredOutput),参照 references/browser-use-v2.md。跳过下面的单流程/子 Agent 分工方式——无论规模大小,都使用 v2。为 localhost 目标建立隧道,并传入公开的 startUrl。
    • 具备视觉能力,且只有一个流程 → 按照 references/methodology.md 直接驱动 browser-harness:解析密钥、为 localhost 建立隧道,并使用经过实测的注意事项运行测试循环(重写 Host 标头、关闭代理、每个标签页的中间页标头、固定 CORS 的 API)。
    • 具备视觉能力,且有多个流程 → 分发任务,每个流程一个子 Agent:
      • v2 Agent(推荐) → 按照 references/browser-use-v2.md,为每个流程创建一个任务(每项任务都包含 judge 和 1–5 的 structuredOutput 架构),轮询所有任务并收集判定结果。localhost 目标仍需要隧道(云端 Agent 无法访问 localhost)——建立隧道并传入公开的 startUrl。
      • Claude 子 Agent → 每个流程启动一个 Agent,并按照 references/methodology.md 使用 browser-harness。

    每当使用 v2 后端(无论是无视觉能力的情况,还是推荐的分发方式):创建每项任务时,都要在用户本地的 Chrome 中打开其控制面板线程 https://cloud.browser-use.com/thread/{sessionId}(使用创建响应中的会话 ID,而非任务 ID),以便用户能查看 Agent 的运行过程——参考中的 open_local(...) 助手函数会完成此操作。始终也要打印该 URL。

  3. 清理已启动的内容——无论走哪条路径,都要停止所有已启动的内容:

    • 隧道——如果为 localhost 目标建立了隧道,就终止隧道进程。这适用于所有需要建立隧道的路径,包括 v2(针对 localhost 运行 v2 仍会启动隧道)——不要让隧道进程遗留运行。
    • 云端浏览器——单流程/Claude 路径会驱动 browser-harness 云端浏览器;需要将其停止。
    • 针对公开 URL 的 v2 任务无需清理(一次性会话会自动关闭);针对 localhost 的 v2 任务仍会留下隧道,因此要关闭隧道。
  4. 返回判定结果:先给出 Score: N/5,然后依次给出任务、结果、有效项、问题(带标签)、边缘情况和证据——遵循 references/methodology.md 中的评分标准和输出格式。如果分发了任务? 为每个流程单独给出 Score: N/5,并给出反映最弱关键路径的总分(不能因为其他流程通过,就把一个失败流程的分数平均抬高)。

根据请求调整投入:快速确认“X 是否有效?”只需几次交互和一个评分;“彻底进行 QA”则需要覆盖更多流程和边缘情况。判定结果要诚实、具体且可复现。

评论

支持 Markdown