TECHNICAL ARTICLE

下一代自动化测试:视觉驱动的新范式

深入讨论 Visual Replay Tester 的设计理念,探索基于视觉的自动化测试解决方案

节目简介

传统前端 E2E 测试存在两个问题。脚本维护成本高,UI 变动会导致测试失败。视觉覆盖不全,Canvas、Shadow DOM 等场景难以测试。

Visual Replay Tester 是一个集成了 Playwright、Electron 和 MCP 的自动化测试工具,我们讨论了它的设计理念和实现方案。

核心价值

VRT 的核心价值在于将昂贵的 AI 推理转化为低成本、高稳定性的工程化脚本。初次探索使用 AI,后续回归使用固化脚本,成本大幅降低。

四层自动化体系

L1 高保真录制回放

适用于冒烟测试和固定业务流程回归。首选策略基于唯一 CSS 选择器进行精准操作。当选择器失效时,降级策略自动切换至空间坐标系。关键步骤强制进行视觉 Diff,确保渲染层面的正确性。

L2 CDP 语义交互

适用于动态复杂页面和高频交互场景。不依赖脆弱的 DOM 结构,而是基于稳定的无障碍语义树。根据 Viewport 和交互上下文,只提取即时可用的语义节点。

L3 纯视觉 AI

适用于 Shadow DOM、Canvas、Web 游戏。利用 VLM 像人类一样通过截图理解屏幕。默认使用 CDP 获取轻量级语义,仅在遇到黑盒区域时才唤起 VLM。

L4 智能 Agent

适用于探索性测试和模糊指令执行。基于观察、思考、行动、修正的循环。将 Agent 的探索过程持久化为标准测试脚本。

混合执行引擎

对于标准 HTML 元素,通过 MCP 协议直接调用 CDP 接口。这种方式速度快、稳定性高、可记录为标准代码,能处理 80% 的标准 DOM 操作。

当遇到 Canvas 画布、极度混淆的 DOM、ShadowRoot 内部时,调用 VLM 进行判断。计算目标图像坐标,模拟鼠标物理点击。

成本分析

只在初次探索和生成脚本阶段大量消耗 Token 和算力。脚本生成后,后续回归测试仅运行固化的脚本,成本趋近于零。

通过 VLM 视觉方案,解决了 Canvas、WebGL 等传统自动化工具难以处理的场景。