2026年7月14日 1 分钟阅读

Catcher 场景:AI 驱动的 Web 测试——用自然语言写测试,在本地运行,数据不出你的电脑

tinyash 0 条评论

一个真实的痛点

你在用 Claude Code 或 Cursor 开发 Web 应用,每次改完前端交互逻辑后都得手动测试一遍——登录、填表单、点按钮、验证结果。重复机械劳动不说,稍微复杂的场景(多步骤流程、不同用户角色)手动跑一遍就是十几分钟。

你试过 SaaS 版的 AI 测试工具,但它们有一个本质问题:你的测试脚本、网站会话、Cookie、截图全部上传到云端。对于公司内部系统、开发环境、或含有敏感信息的测试页面,你根本不敢用。

痛点对比

维度传统 SaaS 测试工具纯手工测试Catcher
数据隐私测试数据上传至云端无数据泄露风险完全本地运行,数据不出设备
LLM 费用按次计费(包含在订阅中)零成本自带 Key(BYOK),你付给模型提供商
测试脚本编写需要写 Playwright/Cypress 代码手动点击操作自然语言描述测试步骤
复杂选择器处理需要手动定位 DOM 元素视觉识别Vision-coordinate 自动回退
本地环境测试有限(通常只支持公网可达的站点)完全支持完全支持(Localhost、内网均可)
定价月费 $50-500+免费免费开源(MIT)

快速上手

安装

从 Catcher GitHub Releases 页面下载对应平台的安装包:

  • Windows:下载 Catcher Setup x.y.z.exe
  • macOS Apple Silicon:下载 Catcher-x.y.z-arm64.dmg
  • macOS Intel:下载 Catcher-x.y.z.dmg

安装包未经过代码签名,首次启动时系统会给出安全警告——按提示允许运行即可。

配置 LLM

启动 Catcher 后,进入 Settings 页面,从下拉列表选择一个模型并粘贴你的 API Key。Catcher 支持 OpenAI(GPT-4o-mini 为默认)、Anthropic Claude、Google Gemini 以及任何兼容 OpenAI 格式的本地端点(如 Ollama)。所有预设模型都支持视觉能力,这对后续的 Vision-coordinate 回退功能至关重要。

第一个测试

  1. 点击 + Add site,输入你的网站 URL
  2. 点击 + New test,用自然语言写下测试步骤:
Click the 'Sign in' button
Type 'alice@example.com' in the email field
Type 'password123' in the password field
Click the 'Continue' button
Verify the page contains 'Welcome, Alice'
  1. 点击 ▶ Run this test,Catcher 会在你本地启动一个 Playwright 浏览器,逐行执行你的指令,右侧面板实时显示浏览器视口画面和执行推理过程。

核心能力

启发式匹配 + 仅必要时调用 LLM

Catcher 不依赖 LLM 做每一步决策。对于形如 Click the '保存' button 这类步骤,它的启发式引擎(heuristics)会先解析 DOM 树,找出与文本最匹配的可点击元素——如果置信度足够高,直接执行,全程不调用任何 API。只有匹配不明确时,才会将当前的 DOM 快照发给 LLM 做判断。这让简单测试跑得又快又便宜——大部分点击操作从未触及 API。

Vision-coordinate 回退:对付复杂页面的杀手锏

Web 测试中最头疼的问题之一:选择器失效。弹窗覆盖层(Modal overlay)、CSS 动画、元素位移、响应式布局变化——所有这些都会让传统的 Playwright 选择器失效。

Catcher 的处理链是渐进式的:

  1. Playwright loc.click() — 标准方法
  2. Corner-click — 针对背景遮罩层
  3. 原生 el.click() via page.evaluate — 绕过 Playwright 的 actionability 检查
  4. Vision-coordinate 回退 — 截取当前页面截图,将截图发给 LLM,让模型在图片中标注 {x, y} 坐标,然后在该坐标处点击

最后一层 Vision-coordinate 回退是真正的杀手功能——它能从被遮罩、浮动菜单、或高度动态的 UI 中精确找到目标元素。这是传统选择器策略无法做到的。

完整的三层架构

Catcher 基于 Electron + Playwright 构建,分三层:

  • Renderer(React) — 测试编辑器、运行面板、设置页面
  • Main process(Electron) — 包含 runner(执行引擎)、snapshot(DOM 快照采集)、actions(动作执行)、llm(多 Provider 客户端)、storage(本地存储)等模块
  • Playwright(Chromium) — 实际的浏览器引擎

每一步的执行流程是:Snapshot → Heuristic match → Fast path(跳过 LLM) → LLM plan → Execute → Assert,全部运行在你的本地机器上。

认证 Profile 与会话持久化

对于需要登录的网站,Catcher 支持”Auth Profiles”——通过真实浏览器窗口登录一次,Session 会被持久化保存。每个测试可以绑定独立的 Profile,Run-all 模式下自动复用。

横向对比

特性CatcherSaaS AI 测试工具(如 Testim、Mabl)Playwright 纯代码
数据驻留本地云端本地
测试编写方式自然语言自然语言 + 录制代码(JavaScript/TypeScript)
BYOK✅ 支持N/A
费用免费(MIT)$50-500+/月免费
Vision 回退✅ 渐进式 4 层有限需要自行实现
离线可用
选择器复杂度低(自然语言描述)
CI 集成❌(桌面 App)

注意事项

  • 未签名二进制:安装包未经过 Apple Developer 或 Windows 代码签名认证,首次启动时系统可能拦截。macOS 上右键 → 打开(而非双击),Windows 上点击”更多信息 → 仍要运行”
  • 仅 Chromium:安装包内置 Chromium,不支持 Firefox 或 WebKit(开发模式下可以切换)
  • Vision 质量取决于模型:预设模型均支持视觉能力,但如果使用自定义端点且模型没有视觉能力,会降级到纯文本启发式匹配
  • 无 CI 集成:Catcher 当前是桌面应用,不提供 CI/CD 命令行运行模式,适合开发阶段的本地测试验证

总结

如果你在团队中使用 AI 编码工具开发 Web 应用,需要一个既保护数据隐私、又无需写复杂选择器的测试方案,Catcher 提供了一个两者兼顾的方案——自然语言描述测试步骤,Session 和浏览器在本地运行,Vision-coordinate 回退保证即使在复杂 UI 下测试也能稳定通过。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。