mcpField
B
browser-replay

browser-replay

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

关于 browser-replay

browser-replay 是重新运行已记录浏览器会话轨迹的技能,可用于 UI 回归检查、复现已捕获的问题和比较运行结果,并通过选择器恢复与步骤匹配阈值给出判定。

主要功能

  1. 01加载已记录的浏览器轨迹
  2. 02通过浏览器 MCP 工具重放操作
  3. 03未匹配时尝试相似选择器
  4. 04记录带有谱系信息的重放运行
  5. 05计算步骤匹配率并给出判定

适用场景

  1. 01部署后回归测试 UI 流程
  2. 02复现先前会话中记录的问题
  3. 03比较同一浏览器流程的多次运行
  4. 04分叉前重放父会话

MCP 相关

打开浏览器,并通过 browser_click、browser_fill 和 browser_eval 等 MCP 浏览器工具执行记录的操作。

安装

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

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

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

详细介绍

浏览器回放

重新驱动已记录的会话轨迹。用于回归测试、确定性重跑,以及验证 browser-record 加上 browser-selectors 是否真的能生成可回放内容。

此技能是 v0.2.0 架构的关键假设。 ADR-0001 Verification §4 要求在具有不同漂移特征的 10 个不同网站上,回放成功率达到 ≥80%,提案才能从 Proposed → Accepted。如果你发现回放不可靠,请在 findings.md 中记录失败模式,并向上级 ADR 报告。

使用时机

  • 部署后对 UI 工作流进行回归测试。
  • 重现先前会话中记录的错误。
  • 比较同一工作流的两次运行,以进行 browser-screenshot-diff。
  • 分叉会话(/ruflo-browser fork),并在修改前回放父会话。

步骤

  1. 找到源会话:
    npx -y [email protected] rvf status <session-id>.rvf
    
  2. 加载轨迹:
    Read .../trajectory.ndjson
    
    每行格式为 {ts, action, args, selector, result}。
  3. 通过 mcp__plugin_ruflo-core_ruflo__browser_open 打开全新的浏览器(目标 URL = 原始 URL,或使用 --url 覆盖)。
  4. 对于轨迹中的每一步,调用匹配的 MCP 工具(browser_click、browser_fill、browser_eval 等),并传入已记录的参数。
  5. 如果选择器未匹配,不要立即失败——查询 browser-selectors 命名空间,为相同的 <host>:<intent> 查找嵌入相似的选择器,并重试一次:
    npx -y @claude-flow/cli@latest memory search --namespace browser-selectors \
      --query "<host> <intent>" --limit 5
    
  6. 为回放运行记录新轨迹(分配新的 RVF 容器,并通过 rvf derive 跟踪谱系)。
  7. 判定:统计匹配步骤数 / 总步骤数的比率。默认容差阈值为 0.85(可通过 --tolerance 配置)。判定结果写入 findings.md。

注意事项

  • Browserbase 明确不提供回放功能(rrweb 会话回放已弃用)。我们押注于基于选择器嵌入的恢复;网站变化较大时,预计会出现噪声。
  • 网络的非确定性(时序、内容变化)可能导致误判为失败。使用 --mutate 注入预期变化,或固定到一个 fixture。
  • 如需进行视觉差异比较,将其链接到 browser-screenshot-diff,并指定父会话 ID。
  • 如果每个步骤的选择器恢复需要重试超过一次,请记录下来。这表明该网站需要重新录制,而不是回放。

评论

支持 Markdown