Browser Test 是一个面向 Web 应用的自动化测试技能。它接收一个起始 URL 和一段自然语言提示,由规划器(planner)把提示拆解成若干测试用例,再由多个并行的浏览器工作进程(worker)执行这些用例,最终输出一份测试报告。
用途
用于从起始 URL 出发,按自然语言描述对 Web 应用进行浏览器层面的测试。协调者本身不亲自点击应用,只在帮助用户登录时介入。除非用户在本轮运行中明确确认某次写入,否则不会更改数据。
主要能力
- 规划:规划器把提示拆解成测试用例,并区分只读用例与写入用例(MODE: write)。
- 并行执行:每个用例对应一个工作进程,所有进程在同一条消息中派发以并行运行,最多同时 5 个。
- 只读保护:只读运行不会暂停;插件钩子会阻止 browser-tester 执行任何非只读命令。
- 写入确认:若计划中存在写入用例,会逐条展示其 WRITES 行,并让用户选择“按这些写入运行”“只读运行(所有用例变为只读,写入被丢弃)”或“取消”。只有本轮明确同意才允许写入。WRITE CANDIDATE 行永不执行,只写入报告。
- 证据校验:工具使用次数少于 5 次的工作进程被视为证据不足,标记为 INCOMPLETE(无证据),最多重新派发一次。
- 不确定项处理:对 UNSURE 检查读取其截图判定 PASS 或 FAIL,并标注(from screenshot);若截图也无法判定则保持 UNSURE。已通过或失败的检查不再读取截图。
- 报告:输出运行 ID、来源、用例数、总体结果,以及检查结果表和错误表;错误按 5xx 与错误页、页面与 JS 错误、4xx、空白、缓慢的顺序排列,同一错误在多页出现时合并为一行。
使用方式
参数为 $ARGUMENTS:第一个 http(s) 令牌是起始 URL,其余为提示。若缺少 URL 或提示,则询问缺失项并停止。
-
启动运行:在项目根目录执行 bash ${CLAUDE_SKILL_DIR}/scripts/start-run.sh <start-url>,输出 run_id、run_dir、origin、state(该主机的认证文件)和 state_exists。运行目录还包含 scope.json,供只读守卫读取。会话命名为 bt-<run_id>-<tag>:plan、login 或用例编号。
-
规划:向规划器发送包含 START_URL、PROMPT(逐字)、SESSION、STATE(state_exists 为真时为 state 路径,否则为 none)的简报。在 Claude Code 中配合本插件时,派发 subagent_type=leek-skills:browser-test-planner;其他环境使用中等模型子代理或内联规划。
-
登录:若需要登录,告知用户将打开浏览器窗口供其登录,运行 agent-browser --session bt-<run_id>-login --headed open <start-url>,等待用户确认已登录,然后运行 agent-browser --session bt-<run_id>-login state save <state> 和 agent-browser --session bt-<run_id>-login close,并以 STATE 重新规划。认证文件存放在仓库之外,绝不写入报告。若重新规划仍显示 NEEDS LOGIN,则停止并说明。
-
确认写入:仅当计划含写入用例时执行;否则直接进入派发。
-
派发:每个用例一个工作进程,在同一条消息中并行派发(最多 5 个)。简报包含 CASE(规划器用例块,逐字)、WRITES(已确认的 WRITES 行,仅写入用例)、SESSION、STATE、SHOT_DIR。在 Claude Code 中,只读用例派发 subagent_type=leek-skills:browser-tester,已确认写入用例派发 subagent_type=leek-skills:browser-writer。
-
处理 UNSURE 检查。
-
报告:仅返回指定格式的内容,包括标题行、DATA CHANGED 与 WROTE 行、检查结果表、错误表,以及每个 INCOMPLETE 用例和 WRITE CANDIDATE/UNPLANNABLE 说明各一行。不提供建议或修复方案。结果与判定单元格前使用 ✅ PASS、❌ FAIL、⚠️ UNSURE 或 INCOMPLETE 标记。
适用场景
适用于需要按自然语言提示对 Web 应用进行浏览器测试、并希望并行执行多个用例、同时严格控制数据写入的场景。
限制
- 只读优先,写入必须在本轮明确确认。
- 工作进程工具使用少于 5 次视为证据不足。
- 认证文件不进入报告。
- 报告不包含建议或修复。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。