整个框架采用 多阶段流水线 架构,每个测试场景按 Phase 顺序执行:
Phase 0 → Phase 0.5 → Phase 0.7 → Phase 1 → Phase 1.5 → Phase 2
环境准备 确定性导航 确定性操作 AI视觉验证 差分验证 数据复验
(Expo) (Playwright) (Playwright) (Browser Use) (Hasura) (Hasura)
Phase 0 — 环境准备 (app_source)
npm install)npx expo start --web --port 8081)Phase 0.5 — 确定性导航 (playwright_nav)
entry_points 中的路径依次导航:login → select_device → target_tab
RecoveryManager 三层自恢复(重试 → 备用路径 → 降级数据验证)Phase 0.7 — 确定性操作 (playwright_ops) (可选)
click、fill、set_time、wait、assert_text
Phase 1 — AI 视觉验证 (ui_test)
steps(action + assert)发给 Browser Use Agentstructured_output → JSON 提取 → emoji 匹配 → 关键词降级output_model_schema=TestResult 强制 JSON 输出Phase 1.5 — 差分验证 (diff_verify) (可选)
pre_snapshot)post_checks)verify_exists、verify_count 等Phase 2 — 数据复验 (data_verify)
verify_count(记录数 >= N)verify_field_rules + not_null
verify_no_orphan(无孤儿数据)verify_field_rules + in: [...]
测试失败 → 错误分类 → 决策
├─ environment(超时/网络)→ 自动重试 + 知识库参数调整
├─ assertion(UI/数据不符)→ 不重试,报告真实 bug
└─ unknown → 不重试
| 系统 | 功能 |
|---|---|
| Reflexion 知识库 | 从失败中学习,SQLite 存储,下次测试自动调整参数 |
ROI 报告 (roi_report.py) |
扫描报告 JSON,计算成本/收益/月度预测 |
基准测试 (validation/benchmark.py) |
正/负样本验证 AI 视觉准确率(accuracy/FPR/FNR/F1) |
场景校验 (validation/lint_scenarios.py) |
YAML 格式 + 语义 + 跨场景一致性检查 |
ai-agent-tests/
├── scenarios/qbanAPP/ # 业务场景(6个模块)
├── scenarios/regression/ # 回归测试(刚创建的4个)
├── skills/browser_test/ # Browser Use AI 视觉 skill
├── skills/playwright_navigate/ # Playwright 导航 skill
├── validation/ # 校验工具 + 基准测试
├── reflexion/ # 反思知识库
├── reports/ # 测试报告 JSON
├── runner.py # 主运行器
├── roi_report.py # ROI 报告
└── config/test_config.py # 配置
output_model_schema 与 qwen3.7-plus 的 JSON 输出不稳定,正在优化中