传统 UI 测试和 OpenClaw 的浏览器自动化,底层技术是一样的(都是控制浏览器),但思考方式完全不同。本文将从测试工程师的视角,理清这个思路转变。

1.核心认知:传统 UI 测试 vs OpenClaw 浏览器自动化

维度
传统 UI 测试(Selenium / Playwright)
OpenClaw 浏览器自动化
定位方式 硬编码 CSS 选择器 / XPath AI 自然语言理解 + 动态识别
维护成本 页面改版 → 测试脚本跟着改 AI 自适应,能应对一定程度的 UI 变化
执行方式 写测试脚本 → 跑脚本 → 看报告 自然语言指令 → AI 规划 → 执行
适用场景 稳定回归测试、CI/CD 集成 探索性测试、数据采集、复杂工作流
确定性 高(每一步都明确) 中(AI可能理解偏差)

✨ 关键认知:OpenClaw 不能完全替代 Selenium / Playwright 测试脚本,但可以 成为你测试流程的 “智能编排层”

2.OpenClaw 执行 UI 测试的技术基础

OpenClaw 的浏览器能力基于 agent-browser(Rust 开发的无头浏览器工具),支持以下操作:

能力 说明 UI 测试对应场景
open(url) 打开网页 访问测试环境
type(selector, text) 在输入框键入文字 表单填写
click(selector) 点击元素 按钮点击、链接跳转
waitForSelector(selector) 等待元素出现 异步加载等待
screenshot(path) 截图 测试证据留存
evaluateJavaScript(code) 执行 JS 获取页面状态、触发事件

官方文档确认:OpenClaw 可以通过 Chrome DevTools ProtocolCDP)完全控制浏览器,支持页面导航、表单填写、点击、截图等所有 UI 测试所需操作。

3.思路建议:三种让 OpenClaw 执行 UI 测试的路径

3.1 路径一:自然语言直接驱动(适合探索性测试、快速验证)

思路:不需要写任何脚本,直接用自然语言告诉 OpenClaw 要测什么。

“用浏览器打开 https://staging.example.com/login,
输入测试账号 test@example.com,
输入密码 test123,
点击登录按钮,
等待跳转到首页后截图,告诉我是否登录成功”
  • 优点:零代码、快速验证、AI 自动处理元素定位。
  • 局限:不适合批量回归、CI/CD 集成。

参考:社区已确认这种用法可行 —— OpenClaw 能理解 “用浏览器访问百度,读取页面内容” 这类指令并自动执行。

3.2 路径二:编写浏览器测试 Skill(适合封装常用测试流程)

思路:把某个测试场景封装成 Skill,以后一句话就能触发。

Skill 结构示例

---
name: login-test
description: 执行登录功能测试,验证登录流程是否正常
---

# 登录功能测试 Skill

## 触发条件
用户说“测试登录”“跑一下登录测试”

## 执行流程

1. 打开目标网站:`open("https://staging.example.com/login")`
2. 等待登录表单加载:`waitForSelector("#email")`
3. 输入测试账号:`type("#email", "test@example.com")`
4. 输入密码:`type("#password", "test123")`
5. 点击登录按钮:`click("button[type=submit]")`
6. 等待跳转:`waitForSelector(".dashboard")`(超时10秒)
7. 截图保存:`screenshot("/tmp/login_test_result.png")`
8. 返回结果:成功/失败

## 预期结果
- 页面URL包含 `/dashboard`
- 页面显示用户头像或欢迎文字
- 不出现错误提示
  • 优点:封装后可复用、团队共享、可纳入定时任务。
  • 局限:需要编写 SKILL.md 文件,有一定学习成本。

3.3 路径三:集成现有测试框架(适合CI/CD、回归测试)

思路:让 OpenClaw 作为 “触发器” 和 “结果汇总层”,测试本身仍用 Selenium / Playwright 执行。

工作流设计

[定时触发: 每天8点]
    → [OpenClaw: 启动测试环境检查]
    → [执行 Playwright 测试脚本]
    → [收集测试结果 JSON]
    → [OpenClaw: 分析结果,生成报告]
    → [失败时通过飞书/钉钉告警]

实际应用:已有开发者验证了这种混合模式的可行性 —— 用 OpenClaw 做编排层,底层测试仍用专业框架。

4.进阶能力:API 逆向生成测试(杀手级功能)

这是最让我兴奋的能力。OpenClaw 有一个叫 Unbrowse 的插件,可以 捕获浏览器网络请求,自动生成可复用的 API 测试技能

工作流程

第一次:打开浏览器,手动操作一遍(登录 → 填表单 → 提交)
    ↓
Unbrowse 自动捕获所有网络请求(HAR格式)
    ↓
分析并推断 API 端点、请求参数、认证方式
    ↓
生成可复用的 Skill 文件
    ↓
后续:直接调用 Skill 执行相同操作,无需启动浏览器

对测试工程师的价值

  • 自动化测试用例生成:手动操作一遍 → 自动生成 API 测试脚本
  • 性能测试准备:直接复用 API 调用逻辑
  • 绕开 UI 变化:UI 改版不影响核心 API 测试

安全说明:捕获的数据默认保存在本地,不会自动上传。

5.测试工程师的最佳实践建议

基于现有社区实践,我建议你按以下优先级推进:

优先级
做什么
收益
投入
1️⃣ 用自然语言让 OpenClaw 执行简单冒烟测试 快速上手,验证可行性 10 分钟
2️⃣ 封装 1-2 个高频测试场景为 Skill 团队复用,效率提升 1-2 小时
3️⃣ 配置定时任务,每天自动跑核心流程 及时发现问题 30 分钟
4️⃣ 集成 Playwright 脚本,OpenClaw 做编排 CI/CD 级可靠性 半天
5️⃣ 尝试 Unbrowse 捕获 API 生成测试技能 进阶能力,效率翻倍 探索性

6.避坑指南

  • 不要用 OpenClaw 替代所有 UI 测试
    • AI 理解有概率偏差,稳定回归测试仍需传统框架。
  • 注意网络限制
    • 如果 OpenClaw 部署在国内服务器(非香港),访问境外网站可能受限。
  • 测试环境准备
    • 测试账号、测试数据需要提前准备好,OpenClaw 不会自己生成。
  • 结果判定仍需人工
    • 审计报告指出:OpenClaw 可能在空白页面时编造分析结果,测试结论必须人工复核。

7.总结:从“写脚本”到“设计测试智能体”

✨ 传统的 UI 测试是 “写代码告诉机器怎么做”,OpenClaw 的方式是 “描述意图让 AI 规划怎么做”。

你不需要放弃 Selenium / Playwright —— 它们仍然是稳定回归测试的最佳选择。OpenClaw 的价值在于:

  • 降低探索性测试的门槛(说句话就能测)
  • 封装测试知识为可复用的 Skill
  • 做测试流程的编排层(触发 → 执行 → 分析 → 告警)
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐