
大家好,我是洋子
在AI时代,测试工作也需要智能升级。传统的UI自动化测试框架Playwright/Selenium等。虽然解决了重复劳动问题,但依然存在依赖人工编写大量代码、维护成本高、脚本脆弱的痛点
OpenClaw作为新一代AI助手,结合其强大的浏览器控制能力,为我们带来了一种全新的自动化测试解决方案
使用浏览器控制能力的前置条件
安装并运行OpenClaw
如果你还没有安装搭建OpenClaw,可以参考这篇文章《手把手教你免费搭建使用OpenClaw并接入飞书,立即拥有你的24小时在线"数字员工"》
OpenClaw 提供了两种操作系统浏览器的模式
两种模式应用场景有什么区别
# 查看浏览器状态
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如果打开浏览器的,接下来需要配置独立浏览器
~/.openclaw/openclaw.json{
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" },
},
},
}
gateway.port 派生的端口 (默认:18791,即网关+2,网关默认端口18789)。浏览器扩展中继使用下一个端口(18792)。如果你覆盖网关端口(gateway.port 或 OPENCLAW_GATEWAY_PORT),衍生的浏览器端口会转移到同一个“家族”中。cdpUrl 在未设置时默认使用浏览器扩展中继端口。remoteCdpTimeoutMs 适用于远程(非环回)CDP 可达性检查。remoteCdpHandshakeTimeoutMs 适用于远程 CDP WebSocket 可达性检查。browser.ssrfPolicy.dangerouslyAllowPrivateNetwork 默认为 true(可信网络模型)。将其设置为 false,以实现严格的仅公开浏览。browser.ssrfPolicy.allowPrivateNetwork 仍作为兼容的遗留别名支持。attachOnly: true 表示“永远不要启动本地浏览器;只有在浏览器已经运行时才 attach 。”openclaw(OpenClaw 管理的独立浏览器)。使用 defaultProfile:“chrome” 来选择加入 Chrome 扩展中继。openclaw 配置文件会自动分配 cdpPort/cdpUrl——只设置它们用于远程 CDP如果你的系统默认浏览器是基于 Chromium(Chrome/Brave/Edge 等),OpenClaw 会自动使用它,则无需手动配置。设置 browser.executablePath 覆盖自动检测
browser.executablePath配置例子见下:
openclaw config set browser.executablePath "/usr/bin/google-chrome"
// 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
OpenClaw Chrome 扩展程序允许代理控制您现有的 Chrome 标签页(您的普通 Chrome 窗口),而不是启动一个单独的 openclaw 管理的 Chrome 配置文件。
通过Chrome 扩展工具栏上的一个按钮即可完成附加/分离操作
openclaw browser extension install
openclaw browser extension path
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了
【往期推荐】