mcpField
B
browser-test

browser-test

github.com/ruvnet测试与质量80.0k755 次安装今天更新
代码仓库

关于 browser-test

browser-test 是用于真实浏览器自动化 UI 测试的技能,可记录会话以供回放或与基线比较,适用于前端验证、回归检查及 CI 失败后的测试重跑。

主要功能

  1. 01记录可回放的浏览器会话
  2. 02执行浏览器交互
  3. 03验证页面内容与状态
  4. 04截取屏幕图像并记录无障碍树
  5. 05将运行结果与基线比较
  6. 06保存发现与会话产物

适用场景

  1. 01验证前端更改后的 UI 流程
  2. 02将运行结果与视觉基线比较
  3. 03CI 失败后回放已存测试

安装

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

$npx skills add https://github.com/ruvnet/ruflo --skill browser-test

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

详细介绍

浏览器测试

自动化 UI 测试。现在由录制的 RVF 会话容器提供支持,不再是临时运行,因此每次测试都会生成可回放的产物。

适用场景

  • 验证 UI 功能、用户流程,或前端更改是否能在真实浏览器中正常运行。
  • 生成基准会话,供后续回归测试进行差异比较。
  • CI 失败时重新运行已存储的测试会话(无需重新编写测试)。

步骤

  1. 录制测试运行,组合使用 browser-record:
    • 使用 --kind browser-session 分配 RVF 容器。
    • 开始 ruvector 轨迹。
  2. 执行交互操作 — browser_open、browser_click、browser_fill、browser_type、browser_select。每项操作都会生成一个 trajectory-step。
  3. 等待元素就绪或网络空闲,再通过 browser_wait 进行断言。
  4. 使用 browser_get-text / browser_get-value / browser_get-title / browser_get-url 进行验证。验证结果会写入 RVF 容器中的 findings.md。
  5. 在关键交互前后截图,用于视觉回归。文件名格式为 <step-id>.png。
  6. 在导航边界处快照无障碍树。
  7. 结束会话:执行 trajectory-end --verdict pass|fail、rvf compact,并在 browser-sessions 中建立 AgentDB 索引。
  8. (可选)与 --against <prior-session-id> 指定的会话进行差异比较:调用 browser-screenshot-diff,将本次运行与基准进行比较。

导航

  • 使用 browser_back / browser_forward 浏览历史记录
  • 使用 browser_reload 刷新页面
  • 使用 browser_scroll 滚动到元素或坐标位置

相较于 v0.1.0 的变更

  • 此技能不再仅以 browser_close 结束,而是采用会话结束协议。
  • 测试期间发现的选择器会存入 browser-selectors(host:intent),以便下次测试通过嵌入相似度找到它们。
  • 面向 LLM 的摘要生成前,验证输出会先通过 aidefence_is_safe;被标记为注入的内容会隔离到 findings.md。
  • 同一技能用于 CI 时,现在会生成一个可供 /ruflo-browser replay 重新驱动的产物。

提示

  • 在断言前使用 browser_wait 处理异步渲染。
  • 进行视觉回归时,保存父会话 ID,并在下次运行时传入 --against <id>。
  • 使用 browser_eval 执行自定义 JavaScript 断言,但在记录任何返回字符串前,先通过 aidefence_is_safe 门控对其进行脱敏。

评论

支持 Markdown