Claude Code 能操控 Mac 了:我用它自动跑了 50 个 UI 测试

2 阅读4分钟

3 月底上线的 Computer Use,让 AI 编程助手从"只能写代码"进化到"能看屏幕、能点按钮"。跑了一周,说说真实体验。

事情是这样的

上周五下午,前端改了一版表单流程,5 个页面、12 个交互步骤。改完之后要手动走一遍测试——打开浏览器、注册新账号、填表、提交、检查结果。

走了两遍,第二遍的时候我已经开始走神了。

然后想到 Claude Code 刚上了 Computer Use。

Computer Use 是什么

简单说:Claude Code 以前只能在终端里写代码、跑命令。现在它能看到你的屏幕、移动鼠标、点击按钮、在任何应用里打字

等于 AI 有了一双手,不再只是一个嘴巴。

开启很简单。Claude Desktop 设置里打开 Computer Use 开关,授权辅助功能和屏幕录制两个权限,重启就行了。

我怎么用它跑 UI 测试的

直接在 Claude Code 里说:

打开 Chrome,访问 localhost:3000/register
用以下数据注册:
- 用户名: test_user_001
- 邮箱: test001@example.com
- 密码: TestPass123!

注册完成后:
1. 检查是否跳转到了 /dashboard
2. 检查左侧导航是否显示用户名
3. 点击"创建项目",填入项目名"测试项目"
4. 提交,检查项目列表是否出现

每一步截图保存到 ~/Desktop/test-screenshots/

它真的就开始动了——鼠标移过去,找到输入框,一个字一个字打。

第一次看到 AI 操控你的电脑,说不紧张是假的。

50 个测试用例的结果

我把项目里 50 个核心交互流程都写成了类似的自然语言指令,分批让 Claude Code 跑。

统计项数据
总用例数50
完全通过43
部分通过(完成但有小问题)4
失败(卡住或误操作)3
总耗时约 45 分钟
人工跑同样用例估计耗时约 3 小时

43/50 的通过率,省了 2 个多小时。而且它发现了 2 个我自己测的时候没注意的 bug:

  1. 注册成功后的跳转 URL 多了一个斜杠(//dashboard),在本地能跑但部署后会 404
  2. 有个下拉菜单在 1920px 宽度正常,但 Claude 用的是默认窗口宽度(大约 1280px),菜单被截断了——这其实是个真实的响应式问题

翻车集锦

失败的 3 个用例很有代表性:

翻车 1:深色模式按钮识别失败。 项目有个深色模式的设置页,灰色背景上的深灰按钮,Claude 死活找不到。它在屏幕上来回扫了三次,最后放弃了。

翻车 2:验证码弹窗。 测试登录防暴力破解的场景,连续登录失败 5 次后弹出图形验证码。Claude 看到验证码图片后很老实地告诉我:"我无法识别这个验证码,需要你手动处理。"

翻车 3:终端 vs 编辑器混淆。 在 VS Code 里,它有一次把终端面板当成了代码编辑器,往终端里粘贴了一整段 JSX。没造成什么后果,但如果粘贴的是个 rm 命令就刺激了。

比 Playwright 好用吗?

两码事。

# Playwright:精确、可重复,但要写代码
page.goto("http://localhost:3000/register")
page.fill("#username", "test_user_001")
page.click("button[type=submit]")
expect(page).to_have_url("/dashboard")

# Computer Use:自然语言描述,灵活,但不够精确
# "打开注册页,用 test_user_001 注册,检查是否跳转到 dashboard"
维度Computer UsePlaywright
编写成本自然语言,几秒写完需要写代码和选择器
执行速度慢(截图→分析→操作)快(直接操作 DOM)
精确度80-90%99%+
维护成本低(UI 变了描述不用改)高(选择器要跟着改)
适合场景探索性测试、快速验证回归测试、CI 流水线

我的用法:开发阶段用 Computer Use 快速验证,写稳定之后再补 Playwright 脚本进 CI。 两个不冲突。

Dispatch:手机远程操控

这个附带功能很惊喜。在外面的时候,用手机上的 Claude App 给 Mac 发指令,它会远程执行。

上周在外面吃饭,CI 挂了。掏出手机说:"看看 CI 日志,如果是 ESLint 报错就自动修复然后重新 push。"

3 分钟后收到回复:"已修复 2 个 ESLint 错误,重新 push,CI 正在跑。"

这个场景一个月也就遇到两三次,但遇到了是真的方便。

值不值得用

如果你是前端或者全栈,强烈推荐。"写完代码→自动打开浏览器验证→发现问题→自动改→再验证"这个循环,以前全靠手动。现在闭环了。

如果你只写后端 API、只用命令行,那 Computer Use 没啥用。命令行工具 Claude Code 本来就能操作。

需要 Pro 或 Max 订阅才能用。如果你的开发工具链已经在用多个模型(编码用一个、测试用一个、分析用一个),可以通过 API 网关统一管理——一个 Key 搞定,按场景路由到最合适的模型。


TheRouter — 多模型 API 网关,一个 Key 接入 30+ 模型,自动降级和负载均衡。