大家好,我是洋子
在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.port或OPENCLAW_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 扩展工具栏上的一个按钮即可完成附加/分离操作
如何安装扩展
- 将扩展程序安装到稳定的本地路径:
shell
openclaw browser extension install
- 打印已安装扩展程序的目录路径:
shell
openclaw browser extension path
-
打开Chrome 浏览器输入
chrome://extensions -
开启右上角的开发者模式
-
点击加载已解压的扩展程序 ,选择刚才打印的安装目录:如
~/.openclaw/browser/chrome-extension

-
固定扩展程序,扩展安装完成!
如何使用扩展
点击扩展插件按钮,右键选项,打开扩展配置页面

然后访问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了