UiAutomator ## AI Agent 测试框架工作流程

天花板上的散步者 · September 28, 2026 · 114 hits

整个框架采用 多阶段流水线 架构,每个测试场景按 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)

  • 检查本地 Git 仓库,切换到目标分支
  • 安装依赖(npm install)
  • 启动 Expo Web 开发服务器(npx expo start --web --port 8081)
  • 等待 HTTP 200 响应(超时 300s)

Phase 0.5 — 确定性导航 (playwright_nav)

  • 连接 Edge CDP(端口 9222)或启动新浏览器
  • 按 entry_points 中的路径依次导航:login → select_device → target_tab
  • 支持多路径 + RecoveryManager 三层自恢复(重试 → 备用路径 → 降级数据验证)
  • 登录流程:输入手机号 → 获取验证码 → 登录

Phase 0.7 — 确定性操作 (playwright_ops) (可选)

  • Playwright 执行精确操作:click、fill、set_time、wait、assert_text
  • 用于 AI 观察前必须完成的操作(如设置提醒时间、点击按钮)
  • Playwright 做"做",Browser Use 做"看"

Phase 1 — AI 视觉验证 (ui_test)

  • 复用 Playwright 的 CDP 连接(不重启浏览器)
  • 将 steps(action + assert)发给 Browser Use Agent
  • Agent 使用 qwen3.7-plus 视觉模型观察页面、输出 JSON 结构化结果
  • 结果解析优先级:structured_output → JSON 提取 → emoji 匹配 → 关键词降级
  • 支持 output_model_schema=TestResult 强制 JSON 输出

Phase 1.5 — 差分验证 (diff_verify) (可选)

  • 操作前对 Hasura 数据库拍快照(pre_snapshot)
  • 操作后检查数据变化(post_checks)
  • 验证类型:verify_exists、verify_count 等

Phase 2 — 数据复验 (data_verify)

  • 直接查 Hasura GraphQL,四层标准化检查:
    1. 存在性 — verify_count(记录数 >= N)
    2. 非空 — verify_field_rules + not_null
    3. 外键完整性 — verify_no_orphan(无孤儿数据)
    4. 枚举合法性 — 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       # 配置

当前状态

  • 6 个业务场景 + 4 个回归场景(刚创建,覆盖 ~40 个已修复缺陷)
  • 上次运行首页回归时,output_model_schema 与 qwen3.7-plus 的 JSON 输出不稳定,正在优化中
  • 数据验证已通过(设备绑定 1843 条、客户 2867 条),UI 验证需要精简断言数量
No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up。