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:
- 注册成功后的跳转 URL 多了一个斜杠(
//dashboard),在本地能跑但部署后会 404 - 有个下拉菜单在 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 Use | Playwright |
|---|---|---|
| 编写成本 | 自然语言,几秒写完 | 需要写代码和选择器 |
| 执行速度 | 慢(截图→分析→操作) | 快(直接操作 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+ 模型,自动降级和负载均衡。