用途:Expect 用于在代码改动后只测试受影响页面。它以 git diff 决定测试范围,避免在无关页面上浪费执行周期。
主要能力:按 --target 选择 unstaged、branch 或 commit 三种差异来源;对变更文件做直接、被导入、被路由三层分类;通过 .expect/config.yaml 的 route_map 或 Next.js 约定把文件映射到 URL;生成含页面加载、交互、视觉回归与 axe-core 无障碍检查的测试计划;用 agent-browser 执行并逐步给出 PASS/FAIL 与失败截图;支持 .expect/flows/ 下保存的 YAML 流程回放;用 SHA-256 指纹跳过未变化的重复测试;可选 Jev 步骤判定(shadow 或 act 模式)。
使用方式:命令形式为 expect [-m <instruction>] [--target unstaged|branch|commit] [--flow <slug>] [-y]。例如 expect、expect -m "test the checkout flow"、expect --flow login、expect --target branch、expect -y。执行前需确认 agent-browser 可用:npx agent-browser --version;缺失时按资料提示安装 npm i -g agent-browser。若启用 disableSkillShellExecution(CC 2.1.91),安装检查不会运行,需自行验证。
适用场景:UI 改动后的定向浏览器回归、按分支或提交范围验证、复用已保存流程、在通过后记录 ARIA 快照以做结构回归对比。
限制:不适用于单元测试、纯 API 改动、生成文件与仅文档改动;默认需人工确认测试计划,-y 可跳过;预算为总计 30 分钟、每页 5 分钟、执行器 50 轮,且不并行浏览器。其余配置细节与版本行为以资料所列 references 为准。