简介
TestDog 是一款桌面端测试用例管理工具:用自然语言或手动录制生成 UI 测试脚本,再用 Playwright 按脚本原样回放验证(日常回归不消耗模型 token)。适用于 Web 应用的端到端回归测试。
核心能力
- AI 生成脚本 —— 输入自然语言(可带附件、登录配置),模型先预拆分步骤计划,确认后在真实浏览器中以工具调用循环逐步执行,每步落为语义化定位器脚本;支持暂停续跑、AI 修复、人工接管。
- 手动录制脚本 —— 通过 Playwright codegen 在浏览器里直接操作,录制结果自动解析为可编辑的结构化步骤。
- 回放运行 —— 确定性 Playwright 回放(不消耗模型 token),支持 UI / 接口 / WebSocket 三类断言;选择器失效自动 AI 自愈,可一键采纳回写。
- 插件系统 —— 针对下拉、树选、日期选择器等复杂组件的语义动作插件,按组件库变体内部分发,杜绝「点了但没选上」的假成功。
核心术语
第一次接触下面的词不用慌,文档各页都有上下文说明;速查如下:
| 术语 | 含义 |
|---|---|
| AI 网关 | 调用大模型(LLM)的服务入口,任何 OpenAI 兼容协议的服务都可以(见设置) |
| 预拆分(拆步) | 生成前,模型先把你的自然语言描述拆成一份逐步的「步骤计划」供你确认 |
| 语义化定位器 | 脚本步骤的定位方式(如「role=button 名称=登录」),比裸 CSS/XPath 更贴近人的描述、更抗页面改版 |
| 回放 | 按脚本步骤原样重新执行一遍,验证结果 |
| 自愈 | 回放时选择器失效(页面改版),AI 根据步骤的自然语言指令重新找到元素并继续 |
| 无头模式 | 回放时不显示浏览器窗口、后台静默执行;默认关闭,可围观执行过程 |
| 登录配置 | 录制一次的登录状态,供生成与回放复用,不必每条用例都测登录 |
| 预设 | 插件的执行编组:项目关联了预设,其中的插件才会在生成/回放时注入 |
| Token 消耗 | AI 生成/自愈调用大模型的用量计费单位;「缓存命中」部分成本远低于正常调用 |
工作原理
Tauri 2 桌面外壳(Rust + 系统 Webview)
└ React 前端(Ant Design 5 + Tailwind CSS 4,中英双语)
· fetch → 后端 REST
· WebSocket → 实时进度(生成 / 运行 / 录制)
Node 后端(Fastify 5 + Prisma 7 + SQLite)
· LLM 工具调用循环(OpenAI 兼容网关)
· Stagehand 4(生成执行 / 自愈重定位)
· Playwright(回放 / 录制 / 精确验证)AI 只参与「生成」与「自愈定位」两个环节;日常回归回放完全离线确定性执行,稳定且零模型成本。
界面导览
| 左侧菜单 | 说明 | 对应文档 |
|---|---|---|
| 项目管理 | 管理项目、用例与脚本版本 | 项目管理 |
| 运行记录 | 查看回放结果、失败截图与诊断信息 | 运行记录 |
| 生成记录 | 每次生成的步骤级日志与 token 记账 | 生成记录 |
| 插件管理 | 内置/自定义插件与预设编排 | 插件管理 |
| 设置 | AI 网关、模型、浏览器路径等 | 设置 |
适用场景
- 功能回归:把重复执行的冒烟/回归流程沉淀为脚本,一键回放。
- 组件密集型应用:Ant Design / Element UI / Element Plus 的下拉、级联、日期选择等复杂交互。
- 团队协作:用例导出为
.testcase文件分享,或让编程 agent(如 Claude Code)按技能包直接生成。