利用OpenClaw+飞书,AI驱动UI自动化测试实战案例来了

大家好,我是洋子

在AI时代,测试工作也需要智能升级。传统的UI自动化测试框架Playwright/Selenium等。虽然解决了重复劳动问题,但依然存在依赖人工编写大量代码、维护成本高、脚本脆弱的痛点

OpenClaw作为新一代AI助手,结合其强大的浏览器控制能力,为我们带来了一种全新的自动化测试解决方案

环境准备

使用浏览器控制能力的前置条件

  • 已安装 OpenClaw
  • 已安装 Chrome/Chromium 浏览器
  • PC/服务器有足够的内存(建议 2GB+)

安装并运行OpenClaw

如果你还没有安装搭建OpenClaw,可以参考这篇文章《手把手教你免费搭建使用OpenClaw并接入飞书,立即拥有你的24小时在线"数字员工"》

OpenClaw 提供了两种操作系统浏览器的模式

  • OpenClaw托管模式(默认):无需安装Chrome扩展,创建独立的浏览器,搭配浏览器配置文件调节使用,不影响你的个人浏览器数据
  • Chrome扩展中继模式:需要安装 Chrome 扩展,控制现有的 Chrome 标签页

两种模式应用场景有什么区别

  • 建议选择OpenClaw托管模式的场景:适用于需要长期运行的任务,如24小时监控网页动态、定时自动发帖、敏感账号操作等。首次登录后,OpenClaw可复用登录态,减少重复验证
  • 建议选择Chrome扩展模式的场景:如果是需要登陆态的场景,OpenClaw可访问浏览器中的登录态和数据,建议在隔离环境中使用

OpenClaw托管模式

快速入门

shell 复制代码
# 查看浏览器状态
openclaw browser --browser-profile openclaw status
# 启动浏览器
openclaw browser --browser-profile openclaw start
# 打开指定网页
openclaw browser --browser-profile openclaw open https://example.com
# 创建屏幕快照
openclaw browser --browser-profile openclaw snapshot

添加配置文件

可以通过上面的几条命令,快速感受OpenClaw如果打开浏览器的,接下来需要配置独立浏览器

  • 如果你是在Mac本地部署且已安装Chrome浏览器,可以跳过下面的步骤,因为OpenClaw有自动检测机制,直接自然语言对话,"打开独立浏览器,测试xxx网页/抓取xxx数据",就可以打开独立浏览器,如果有一些个性化的需求,才需要配置

  • 如果是Linux 部署OpenClaw,需要在OpenClaw配置文件添加独立浏览器配置项,配置文件存放路径~/.openclaw/openclaw.json

python 复制代码
{
  browser: {
    enabled: true, // default: true
    ssrfPolicy: {
      dangerouslyAllowPrivateNetwork: true, // default trusted-network mode
      // allowPrivateNetwork: true, // legacy alias
      // hostnameAllowlist: ["*.example.com", "example.com"],
      // allowedHostnames: ["localhost"],
    },
    // cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
    remoteCdpTimeoutMs: 1500, // remote CDP HTTP timeout (ms)
    remoteCdpHandshakeTimeoutMs: 3000, // remote CDP WebSocket handshake timeout (ms)
    defaultProfile: "chrome",
    color: "#FF4500",
    headless: false,
    noSandbox: false,
    attachOnly: false,
    executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
    profiles: {
      openclaw: { cdpPort: 18800, color: "#FF4500" },
      work: { cdpPort: 18801, color: "#0066CC" },
      remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },
    },
  },
}

注意事项

  • 浏览器控制服务绑定loopback 上的端口,连接由 gateway.port 派生的端口 (默认:18791,即网关+2,网关默认端口18789)。浏览器扩展中继使用下一个端口(18792)。如果你覆盖网关端口(gateway.portOPENCLAW_GATEWAY_PORT),衍生的浏览器端口会转移到同一个"家族"中。
  • cdpUrl 在未设置时默认使用浏览器扩展中继端口。
  • remoteCdpTimeoutMs 适用于远程(非环回)CDP 可达性检查。
  • remoteCdpHandshakeTimeoutMs 适用于远程 CDP WebSocket 可达性检查。
  • 浏览器导航/打开标签页在导航前采用 SSRF 保护,导航后对最终 http(s) URL)进行尽力而为的重新检查。
  • browser.ssrfPolicy.dangerouslyAllowPrivateNetwork 默认为 true(可信网络模型)。将其设置为 false,以实现严格的仅公开浏览。
  • browser.ssrfPolicy.allowPrivateNetwork 仍作为兼容的遗留别名支持。
  • attachOnly: true 表示"永远不要启动本地浏览器;只有在浏览器已经运行时才 attach 。"
  • 颜色 +每个配置文件的颜色调色,让你能看到哪个配置文件处于激活状态。
  • 默认配置文件是 openclaw(OpenClaw 管理的独立浏览器)。使用 defaultProfile:"chrome" 来选择加入 Chrome 扩展中继。
  • 自动检测顺序:系统默认浏览器基于 Chromium 的会自动进行检测;否则检测顺序Chrome→Brave → Edge→Chromium→Chrome Canary。
  • 本地 openclaw 配置文件会自动分配 cdpPort/cdpUrl------只设置它们用于远程 CDP

如果你的系统默认浏览器是基于 Chromium(Chrome/Brave/Edge 等),OpenClaw 会自动 使用它,则无需手动配置。设置 browser.executablePath 覆盖自动检测

browser.executablePath配置例子见下:

python 复制代码
openclaw config set browser.executablePath "/usr/bin/google-chrome"
python 复制代码
// macOS
{
  browser: {
    executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
  }
}

// Windows
{
  browser: {
    executablePath: "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
  }
}

// Linux
{
  browser: {
    executablePath: "/usr/bin/brave-browser"
  }
}

想了解更多配置方法,可参考官网文档https://docs.openclaw.ai/tools/browser

Chrome扩展中继模式

OpenClaw Chrome 扩展程序允许代理控制您现有的 Chrome 标签页(您的普通 Chrome 窗口),而不是启动一个单独的 openclaw 管理的 Chrome 配置文件。

通过Chrome 扩展工具栏上的一个按钮即可完成附加/分离操作

如何安装扩展

  1. 将扩展程序安装到稳定的本地路径:
shell 复制代码
openclaw browser extension install
  1. 打印已安装扩展程序的目录路径:
shell 复制代码
openclaw browser extension path
  1. 打开Chrome 浏览器输入chrome://extensions

  2. 开启右上角的开发者模式

  3. 点击加载已解压的扩展程序 ,选择刚才打印的安装目录:如~/.openclaw/browser/chrome-extension

  4. 固定扩展程序,扩展安装完成!

如何使用扩展

点击扩展插件按钮,右键选项,打开扩展配置页面

然后访问http://127.0.0.1:18789/在Web控制台获取网关token,如果无法访问,则需要先启动OpenClaw服务,启动命令openclaw gateway start

填入扩展配置页面(扩展-选项)

接着打开你想让OpenClaw 控制的网站,点击扩展按钮,变成On的状态

点击工具栏上的插件图标就能授权控制。图标上会显示状态:ON 是已连接,... 是正在连接,! 是中继不可达或认证失败(通常是 Gateway 令牌不匹配)。

在飞书跟OpenClaw进行对话,告诉它你想做什么,它就自动帮你完成了,如果你想要切换页面 ,记得先关闭当前的页面,然后打开新的页面,再重新打开ON的开关

这里展示的是浏览器扩展模式,前面说到的托管模式怎么使用,直接跟OpenClaw进行对话即可,比如打开百度官网,帮我测试网站搜索功能

不用写任何代码,就能完成UI自动化测试,想必这就是AI带来的便捷之处吧

最后,说说我最近使用OpenClaw的感受,OpenClaw部署起来还是比较繁琐的,但是一旦部署好,就像是打开了新世界大门,跟IM软件(如飞书)结合起来,根据你的需求就能自动完成任务,还是比较便利的,唯一的缺点就是比较烧Token了

相关推荐
UI设计兰亭妙微11 小时前
飞秒激光时域热反射测量系统软件UI界面设计
ui·ui设计公司
少云清11 小时前
【UI自动化测试】1_IOS自动化测试 _环境搭建
ui·ios
MonkeyKing_sunyuhua11 小时前
openClaw怎么配置飞书
飞书
即安莉12 小时前
从 /ping 到 pong:5 分钟实现飞书机器人与本地大模型的深度集成
机器人·飞书
He19550112 小时前
openclaw配置飞书
飞书·openclaw·openclaw配置飞书
Awna12 小时前
移动端游戏 UI 与动效设计参考指南
游戏·ui
江南西肥肥14 小时前
养虾日记[特殊字符]:多Agent在飞书群辩论--踩坑篇
网络·飞书·openclaw
汽车仪器仪表相关领域14 小时前
ZRT-V 机器人减速器寿命测试系统:以长效智能,破局可靠性验证困局
功能测试·安全·机器人·汽车·压力测试·可用性测试
16Miku14 小时前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·ai·飞书·agent·openclaw·feishu