基于 Agent-Browser 的 WebUI 自动化测试平台——"VisionTest"。这个平台的核心设计理念是:让 AI 像人一样"看"网页、自主操作、自我纠错,彻底告别脆弱的 DOM 定位器。Agent-Browser 作为执行层的核心工具,提供了自然语言驱动的浏览器操控能力。

一、平台整体架构图


二、实施规划(四个里程碑,6-8 个月)

里程碑
目标
时长
核心交付
M1:核心闭环
跑通"自然语言 → 浏览器操作 → 截图证据"
6-8 周
Agent-Browser 集成、CLI 工具、单个用例执行
M2:平台化
Web 管理台 + 任务调度
6-8 周
用例管理界面、分布式执行、测试报告
M3:智能化
探索式测试 + 失败自愈
6-8 周
自动遍历、异常处理、LLM 归因分析
M4:企业级
CI/CD 集成 + 多租户
6-8 周
流水线插件、RBAC、性能优化
M1 核心闭环(0→1)
  • 搭建 Agent-Browser 执行环境:将 Agent-Browser 工具封装为 Docker 镜像,内置 Chromium 浏览器和 VLM 调用客户端。
  • 实现核心动作库:基于 Agent-Browser 的自然语言 API(如 click("登录按钮")、type("admin", "用户名输入框")),封装标准测试动作。
  • 开发 CLI 工具:支持 visiontest run --case login.yaml 命令行执行,输出 JSON 格式结果。
  • 最小验证:选择 5-10 个核心业务场景(登录、注册、下单),验证执行稳定性。
M2 平台化(规模化)
  • Web 管理台:提供用例编写界面,支持 Given-When-Then 风格的自然语言描述。
  • 任务调度器:基于 Celery + Redis 实现异步任务队列,支持并发执行多个测试任务。
  • 多模态断言:实现截图对比(像素级 + VLM 语义判断)、页面文本匹配、元素存在性检查。
  • 测试报告:自动生成包含执行步骤、截图、耗时、成功/失败状态的 HTML 报告。
M3 智能化(质量提升)
  • 探索式测试:给定一个 URL,让 Agent 自主探索页面,点击所有可交互元素,发现潜在 Bug。
  • 失败自愈:操作失败时(如找不到元素),Agent 自动重新截图分析,尝试备选方案(如换一种描述方式定位)。
  • LLM 归因:失败后自动调用 VLM 分析失败截图和操作日志,输出根因(如"页面加载超时""弹窗遮挡目标元素")。
M4 企业级(全面推广)
  • CI/CD 插件:开发 GitHub Actions / GitLab CI 原生插件,支持在 PR 提交时自动触发测试。
  • 质量门禁:设定成功率红线(如<95% 拦截发布),未通过则自动评论 PR。
  • 多租户隔离:不同团队的数据、用例、执行环境完全隔离。
  • 性能优化:VLM 响应缓存、截图压缩、浏览器实例预热池。

三、典型用例示例

# test_cases/login.yaml
name: "用户登录功能测试"
description: "验证正常登录、密码错误、空表单三种场景"
steps:
  - action: navigate
    url: "https://example.com/login"
    
  - action: assert
    condition: "页面包含'登录'标题"
    
  - action: type
    text: "testuser@example.com"
    field: "邮箱输入框"
    
  - action: type
    text: "Test@123"
    field: "密码输入框"
    
  - action: click
    target: "登录按钮"
    
  - action: wait
    condition: "页面出现'欢迎回来'文字"
    timeout: 10s
    
  - action: assert
    condition: "URL 跳转到 /dashboard"
    
  - action: screenshot
    name: "login_success"
Agent-Browser 执行时会将每一步的自然语言指令转换为实际的浏览器操作,遇到异常(如弹窗遮挡)会自动处理。

四、与传统方案的对比

维度
传统 Selenium
VisionTest (Agent-Browser)
元素定位
XPath/CSS 选择器,改版即挂
视觉理解 + 自然语言,自适应
脚本编写
需开发人员手动编码
业务人员写自然语言即可
Canvas/SVG
无法测试
视觉定位,完美支持
异常处理
需预判所有分支
Agent 自主分析处理
维护成本
极高(页面改版=重写脚本)
极低(AI 自适应变化)

五、关键技术风险与应对

  1. VLM 调用成本:通过截图压缩、响应缓存、低分辨率模式降低 Token 消耗。对重复页面(如相同结构的列表页)使用模板匹配替代 VLM 调用。
  2. 执行稳定性:Agent 的判断可能存在随机性。通过重试机制(默认 2 次)和确定性断言(URL/HTTP 状态码)提升稳定性。
  3. 敏感数据:截图中的手机号、身份证等敏感信息,需在存储前自动 OCR 识别并打码处理。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐