自动化测试规范
📦 来源:
wl-skills-testv0.11.0 ·standards/06-automation.md· 可判定条目由wl-skills-test audit(T 系列)与gate自动执行。
适用范围
本规范适用于 Web 端 UI 自动化测试脚本的编写与执行。自动化目标是覆盖回归用例,对抗"AI 只测 CRUD"的通病,确保业务全链路真实闭环。
技术栈
| 组件 | 选型 |
|---|---|
| 测试框架 | Playwright |
| UI 组件库 | Element Plus |
| 前端框架 | Vue 3 |
| 验证码识别 | ddddocr(OCR) |
| 运行平台 | Windows |
两阶段测试模型
自动化按两阶段推进,确保数据真实闭环而非只点按钮:
| 阶段 | 目标 | 内容 |
|---|---|---|
| 阶段 A | 数据闭环 | 新增 → 验证 → 编辑 → 验证 → 删除 → 验证 |
| 阶段 B | 全按钮覆盖 | 在数据闭环基础上覆盖所有按钮与交互 |
阶段 A:数据闭环
每个功能模块必须实现完整的数据闭环:
| 步骤 | 动作 | 验证点 |
|---|---|---|
| 新增 | 填写表单提交 | 列表 / 详情出现新数据 |
| 验证新增 | 查询确认 | 字段值与录入一致 |
| 编辑 | 修改字段提交 | 字段已更新 |
| 验证编辑 | 查询确认 | 字段值与修改一致 |
| 删除 | 删除该数据 | 列表中不再出现 |
| 验证删除 | 查询确认 | 数据确实被移除 |
每个步骤后必须有显式断言,禁止只点击不验证。
阶段 B:全按钮覆盖
在阶段 A 数据存在的前提下,覆盖:
- 列表操作按钮(编辑、删除、查看、复制等)。
- 筛选 / 搜索 / 排序按钮。
- 分页、批量操作。
- 弹窗确认 / 取消。
- 状态切换按钮。
验证码处理
| 场景 | 方案 |
|---|---|
| 登录验证码 | ddddocr 识别后自动填入 |
| 滑块验证 | 预留接口或测试环境关闭 |
验证码识别失败需重试,重试 3 次仍失败标记用例失败。
Windows 执行指南
| 项 | 说明 |
|---|---|
| 环境准备 | Node.js、Playwright 浏览器安装 |
| 启动命令 | npx playwright test |
| 报告生成 | HTML 报告 + 截图 + 录屏 |
| 定时执行 | 配合 CI 或 Windows 任务计划 |
对抗"AI 只测 CRUD"通病
自动化脚本验收时必须检查:
| 检查项 | 要求 |
|---|---|
| 是否真实提交数据 | 必须触达后端接口 |
| 是否验证数据持久化 | 必须重新查询确认 |
| 是否覆盖非 CRUD 按钮 | 状态切换、批量、导出等 |
| 是否清理测试数据 | 用例执行后删除产生的数据 |
| 是否断言充分 | 每步有断言,禁止无验证点击 |
注意事项
- 自动化用例与手工用例分库,编号前缀区分(如 AUTO-)。
- 测试数据必须以
AT_前缀标识,便于识别与清理。 - 元素定位优先 role / 文本,避免脆弱的 XPath。
- 用例之间相互独立,不得依赖执行顺序。
- 失败用例需保留截图与录屏,便于排查。
- 自动化回归纳入 CI,作为合并门禁。
