SuperAPI AI 工具集

browser-smoke

测试与质量

查看项目

更新于 10-16 02:08

技能介绍

用途

browser-smoke 用于在真实浏览器中对一个分支或 PR 所影响的页面路由进行冒烟测试。它是一次差异范围内的检查(diff-scoped check),只验证改动可能影响到的路由,不会修复代码,也不会替代发布前的完整 QA。其产出是一个路由表,每条路由附带捕获到的浏览器证据。

主要能力

  • 针对变更文件映射出的路由逐一在浏览器中执行检查。
  • 每条观察结果采用统一的证据结构,包含 id、result(pass/fail/skipped)以及一个或多个带绝对路径和 SHA256 的工件。
  • 检查页面标题、主内容渲染、是否出现可见应用错误或新的控制台错误,以及变更涉及的交互是否正常。
  • 支持截图、网络请求/响应、控制台输出和轨迹等证据记录。
  • 区分 Pipeline 模式(默认,适用于已授权的实现或验证工作流)与 manual 模式(用户显式控制服务器或仅做观察)。

使用方式

工作流程分为六步:

  1. 选择一个浏览器驱动。优先复用目标项目已有的浏览器栈,可选机制包括 Playwright Test、Playwright CLI、agent-browser、Playwright MCP、主机原生浏览器、裸 Playwright 库。每次旅程只用一个驱动,不安装新的浏览器栈。
  2. 识别变更路由。从代码托管平台获取 PR 变更文件,或解析默认分支后进行比较;将变更文件映射到渲染它的路由,不凭组件名推断路由。
  3. 连接本地服务器。按显式 --port、项目指令、项目服务器配置、环境配置、3000 的顺序选择端口;manual 模式下若端口未监听则以 SKIP 结束。
  4. 访问各路由。先打开根页面确认渲染内容,再对每个映射路由捕获最新状态并检查。优先使用角色、标签或稳定测试 ID 定位器,配合自动等待和可观察断言。编辑场景需清空字段并回读精确值后再保存,导航或刷新前捕获请求与响应,刷新后验证保存值。
  5. 记录失败。为每个失败记录路由、复现步骤、渲染错误、截图、相关控制台输出、网络失败和轨迹;保留原始失败和后续通过的请求重试。
  6. 报告。返回路由、状态、证据、备注组成的表格。仅当所有执行的路由都通过时用 PASS,有路由失败用 FAIL,部分通过部分跳过用 PARTIAL,未执行任何路由用 SKIP。

适用场景

  • 用户要求对某个分支或 PR 做冒烟测试。
  • 测试受影响页面。
  • 运行差异范围内的浏览器检查。

限制

  • 不修改代码;技能运行期间若需修复,应转向诊断或实现工作流。
  • 不替代发布 QA。
  • 不安装新的浏览器栈;缺少命令或浏览器二进制属于准备缺口。
  • 外部 Pi worker 不继承主机浏览器工具,只读分析模式无法运行浏览器命令。
  • 缺少凭据或桌面访问时,只阻塞受影响的路由。
  • 空差异或未执行任何路由时以 SKIP 结束,不得报告为 PASS。
  • 外部 OAuth、邮件、支付、短信等操作需要既有明确授权,缺失时在 manual 模式下询问、在 pipeline 模式下仅标记受影响路由为 Skip。