创造一个前沿且闭环完整的**“全自动无人驾驶”测试设计。这个方案最大的亮点在于它实现了“一次 AI 探索,永久脚本资产”**的转化,将高成本的 AI 推理转化为低成本的工程化脚本。
基于您的描述,我为您梳理了这份**《VRT 全链路自主测试架构方案》**,您可以直接用于技术评审或架构设计文档。
“Given a URL, Return a Report.” 系统接收一个路由(URL),由智能 Agent 担任“测试工程师”角色,自主完成从视觉感知、测试规划、混合执行到脚本固化的全过程。实现零人工干预的端到端(E2E)测试覆盖。
整个流程分为四个阶段:感知规划 -> 混合执行 -> 资产固化 -> 回归验证。
- 路由注入:用户仅需输入目标 URL(如
https://app.example.com/dashboard)。 - 全屏视觉扫描 (VLM Scan):
- Agent 打开浏览器渲染页面。
- 调用 VLM (Visual Language Model) 对页面进行截图分析。
- 语义提取:识别页面类型(如“登录页”、“数据看板”)、核心功能区(“导航栏”、“搜索框”、“提交按钮”)。
- 测试策略生成:
- Agent 根据识别到的组件,自动生成测试规划 (Test Plan)。
- 例:识别到输入框和按钮 -> 规划测试用例:“1. 输入有效文本;2. 点击提交;3. 验证跳转。”
这是本方案的核心引擎,采用MCP (Model Context Protocol) + VLM 的双模驱动。
-
路径 A:MCP 高速通道 (优先)
-
逻辑:对于标准的 HTML 元素(Input, Button, Link),Agent 通过 MCP 协议直接调用底层 CDP 接口。
-
动作:精准注入文本、触发点击事件。
-
优势:速度快、稳定性高、可记录为标准代码。
-
路径 B:VLM 视觉直觉 (兜底)
-
触发条件:当 MCP 无法获取语义(如 Canvas 画布、极度混淆的 DOM、ShadowRoot 内部)时。
-
逻辑:调用 VLM 进行“AI 直觉判断”。
-
动作:计算目标图像坐标,模拟鼠标物理点击;或进行视觉断言(“这看起来像个红色的报错信息”)。
Agent 的操作不再是“阅后即焚”,而是实时转译。
-
实时录制:Agent 的每一步 MCP 调用和 VLM 决策,都被记录在行动日志中。
-
脚本编译:
-
系统将行动日志编译为标准自动化脚本(如 Playwright/Puppeteer 代码或 JSON 格式的 VRT 脚本)。
-
关键点:对于 VLM 执行的步骤,脚本中会通过截图指纹或相对坐标进行固化,确保下次无需 AI 也能回放。
-
截图基准库:在关键节点自动截取“金丝雀快照” (Baseline Screenshots),作为后续视觉回归的对比标准。
- 自动化回放验证:立即运行刚刚生成的脚本,验证脚本的稳定性(Self-Check)。
- 视觉回归对比:比对执行后的页面截图与预期快照,计算像素差异。
- 报告生成:输出包含操作日志、关键截图、Diff 结果和覆盖率统计的 HTML 报告。
为了让团队更好理解,我构思了以下架构逻辑:
各层级说明:
-
Input Layer: URL / Route。
-
Brain Layer (Agent): 负责视觉感知 (Vision) 和 任务规划 (Planning)。
-
Action Layer (Hybrid):
-
MCP Driver: 处理 80% 的标准 DOM 操作。
-
Visual Driver: 处理 20% 的非标/黑盒操作。
-
Output Layer:
-
Test Script: 可复用的自动化代码。
-
Test Report: 包含视觉 Diff 的测试结果。
- AI 成本最小化 (One-time Cost, Lifetime Value):
- 我们只在“初次探索”和“生成脚本”阶段大量消耗 Token 和算力。
- 一旦脚本生成,后续的回归测试(CI/CD)仅运行固化的脚本,成本趋近于零。
- 解决“不可测”难题:
- 通过 VLM 视觉方案,彻底解决了 Canvas、WebGL 等传统自动化工具束手无策的场景。
- 闭环验证:
- 不仅仅是执行,还包括了“生成 -> 验证 -> 报告”的完整闭环,确保交付的是可信赖的测试结果。
-
挑战: 动态内容的视觉干扰(如轮播图、动态广告)。
-
应对: 在脚本固化阶段,增加“视觉屏蔽区 (Masking)”功能,AI 自动标注出易变区域,在回归对比时予以忽略。
-
挑战: AI 规划的路径可能是非最佳路径。
-
应对: 引入人类反馈 (Human-in-the-loop) 机制。生成的脚本允许人工 Review 和微调,然后存入脚本库。