Skip to content

test: 增加可扩展的浏览器能力回归测试框架 - #150

Merged
iuyo5678 merged 2 commits into
mainfrom
codex/browser-eval-harness
Aug 28, 2026
Merged

test: 增加可扩展的浏览器能力回归测试框架#150
iuyo5678 merged 2 commits into
mainfrom
codex/browser-eval-harness

Conversation

@iuyo5678

Copy link
Copy Markdown
Collaborator

为什么增加这个测试框架

BrowserSkill 每次修改 CLI、daemon、扩展或插件后,都需要有一套稳定的测试基准,用来判断更新是否引入严重问题。

这个框架主要解决两个问题:

  • 使用相同的 case 和 seed 重复测试,记录通过率、错误数、执行失败、调用次数和耗时,方便量化比较每次更新前后的变化。
  • 将线上或用户反馈的 badcase 固化成 regression case,确保问题修复后不会再次出现。

测试页面全部在本地运行,不依赖外部网站,避免页面更新、网络波动等因素影响结果。

当前包含 6 个基础能力 case 和 1 个 seed 驱动的动态页面 case,后续可以持续增加新的测试页面和历史 badcase。

现在vibecoding 比较方便,可以让AI帮忙把反馈case 增加入测试集,

主要改动

  • 增加本地测试页面,不依赖外部网站,避免页面变化和网络波动影响结果。
  • 增加 6 个稳定的 core case:
    • 页面跳转、后退、前进、刷新
    • 表单、下拉框、键盘和截图
    • Hover、局部 HTML 和截图
    • 标签页创建、切换和关闭
    • Console 和 Network
    • 移动设备模拟
  • 增加 seed 驱动的 matrix case,用来测试不同 DOM 结构、label 方式、hydration 延迟和干扰控件。
  • 支持按 case、suite、tag 和 seed 运行。
  • 支持直接测试 bsk,也支持通过 adapter 运行 DSH 或其他 Agent。
  • 自动检查重复 case、重复路由、缺失页面、无效操作和断言配置。
  • 增加 badcase 脚手架,后续可以把用户遇到的问题固化成 regression case。
  • 增加中英文使用文档和开发基准线。

后续如何扩充

新增普通 case 时,只需要增加:

  • 一个 case manifest
  • 一个本地 fixture 页面
  • 对应的断言和 smoke steps

不需要修改中央 switch。

用户反馈的 badcase 可以通过下面的命令生成回归模板:

pnpm eval:browser scaffold <case-id> --title "..." --source "issue-or-pr"

当前覆盖

  • 7 个自动化 case
  • 28 项浏览器操作清单
  • 其中 25 项支持自动 smoke
  • tabs.borrowtabs.returnassist.request-help 需要真人或真实用户标签页,保留为人工测试

验证结果

  • pnpm eval:browser:check
    • 7 个 case 和 12 条 fixture 路由校验通过
    • 15/15 harness 测试通过
  • cargo build -p bsk 通过
  • 全部 7 个 case:7/7 通过
  • Matrix seeds 4,7,14:3/3 通过
  • Fully verified:100%
  • Execution failure/error:0
  • 测试结束后没有遗留 BrowserSkill session

@iuyo5678
iuyo5678 merged commit 329c680 into main Aug 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants