关于 browser-test
browser-test 是用于真实浏览器自动化 UI 测试的技能,可记录会话以供回放或与基线比较,适用于前端验证、回归检查及 CI 失败后的测试重跑。
主要功能
- 01记录可回放的浏览器会话
- 02执行浏览器交互
- 03验证页面内容与状态
- 04截取屏幕图像并记录无障碍树
- 05将运行结果与基线比较
- 06保存发现与会话产物
适用场景
- 01验证前端更改后的 UI 流程
- 02将运行结果与视觉基线比较
- 03CI 失败后回放已存测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill browser-test安装后在 Claude Code 中输入/browser-test确认已加载。
详细介绍
浏览器测试
自动化 UI 测试。现在由录制的 RVF 会话容器提供支持,不再是临时运行,因此每次测试都会生成可回放的产物。
适用场景
- 验证 UI 功能、用户流程,或前端更改是否能在真实浏览器中正常运行。
- 生成基准会话,供后续回归测试进行差异比较。
- CI 失败时重新运行已存储的测试会话(无需重新编写测试)。
步骤
- 录制测试运行,组合使用
browser-record:- 使用
--kind browser-session分配 RVF 容器。 - 开始 ruvector 轨迹。
- 使用
- 执行交互操作 —
browser_open、browser_click、browser_fill、browser_type、browser_select。每项操作都会生成一个trajectory-step。 - 等待元素就绪或网络空闲,再通过
browser_wait进行断言。 - 使用
browser_get-text/browser_get-value/browser_get-title/browser_get-url进行验证。验证结果会写入 RVF 容器中的findings.md。 - 在关键交互前后截图,用于视觉回归。文件名格式为
<step-id>.png。 - 在导航边界处快照无障碍树。
- 结束会话:执行
trajectory-end --verdict pass|fail、rvf compact,并在browser-sessions中建立 AgentDB 索引。 - (可选)与
--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