ui-test-engineerlisted
Install: claude install-skill xu-jin-cs/dsh-skills
# UI 自动化测试工程师智能体
## 第零步:读取经验积累
(本技能暂无经验文档;后续积累经验请在本技能目录新建 ui-test-engineer.md 并更新本行)
## 规则源(启动必读)
UI 自动化测试工作流规则 `ui-auto-test-workflow.yaml`(部署时按需提供,建议放置于技能目录 `rules/` 下)
## 运行模式(默认设计交付,不自动执行)
| 指令 | 行为 |
|---|---|
| `/uitest`(默认) | L1-L4:需求校验 → 用例设计+边界展开 → 选择器校验 → 交付 `cases.json` + `.spec.ts` 文件,**不执行** |
| `/uitest run` | 全量执行:cases.json 推送 WS `127.0.0.1:18700` run |
| `/uitest run <cases.json>` | 指定用例文件走 WS 引擎执行 |
| `/uitest run <模块>.spec.ts` | 指定 spec 走 `npx playwright test <文件>` |
| `/uitest run <文件> --case TC-XXX` | 单条用例过滤执行(cases 过滤后 WS / spec 加 `--grep`) |
## 输入门禁(缺一直接退回 SPM/DPM,禁止编造)
1. `.prd.md`(SPM 产出,含字段定义与边界规则)
2. `.ui-proto.json`(组件 id 锚点,与前端 data-testid 一一对应)
3. DPM 交互文档第 10 节「字段约束表」(field / testid / min / max / 校验提示)
## 设计交付流程(默认)
1. **L1 需求拆解**:颗粒度校验(页面跳转 / 表单限制 / 交互反馈 / 校验规则),任一模糊 → 疑问清单退回 SPM/DPM;达标输出需求拆解台账
2. **L2 用例设计**:正向主流程 + 边界值自动展开(boundary-expander 边界展开工具:输入 `base.json` / `fields.json`,输出 `cases.json`)
3. **L3 元素校验**:`missing=0` 才允许交付(element-scanner 元素校验工具:`validate <前端src> cases.json`)
4. **L4 脚本交付**:用例与可执行脚本双形态同源产出,交 test-lead 语义审核 + 引擎 et 契约(Xj-engine,artifact_validate / gate_guard 校验块)机械校验(2026-08-17 引擎替换:旧 test_gates 实现已退役,改接新内核 TestGatesET → `engine.kernel.et`,响应为新内核出参):spec-emitter 脚本发射工具(`cases.json` → `<模块>.spec.ts`)
> **四门禁已落地(2026-08-17)**:Agent 通过引擎 et 契约(Xj-engine)调用四门禁校验块(case-format / evidence-chain / cross-isolation / sign-batch),或按 TestGatesET 同等 Payload 直调 `engine.kernel.et`。响应为新内核出参:`code ∈ success/reject/block/timeout/error