「AI进化社」 实战技能集合,用于管理和存放各类自定义 Skill。
每个 Skill 以独立目录的形式存放在 skills/ 下,包含技能定义文件(SKILL.md)和评估配置(evals/)。
skills/
├── req-to-user-story/ # 需求 → 用户故事
├── review-user-stories/ # 用户故事审查
├── generator-testcase-xmind/ # 测试用例 XMind 生成器
├── generator-testcase-excel/ # 测试用例 Excel 生成器
├── review-testcase/ # 测试用例质量评审
├── safe-testcase/ # 测试场景遗漏补全
├── api-schema-parser/ # 接口定义解析器
├── api-testdata-generator/ # 测试数据自动化构造
├── api-testscript-generator/ # 接口自动化测试脚本生成
├── api-test-optimizer/ # 接口自动化脚本质量检查与优化
├── api-test-tagger/ # 接口测试脚本智能标签化管理
├── api-test-executor/ # 接口测试智能执行调度引擎
├── api-failure-diagnoser/ # 测试失败智能诊断与自动修复
├── api-testdata-cleaner/ # 接口测试数据清理工具
├── api-report-generator/ # 接口测试智能报告生成专家
├── api-pipeline-scheduler/ # 接口自动化全链路流水线调度器
├── ui-page-parser/ # UI 页面解析器
├── ui-testscript-generator/ # UI 测试脚本生成
├── ui-testscript-enhancer/ # UI 测试脚本增强
├── ui-visual-assert/ # UI 视觉断言
├── ui-test-tagger/ # UI 测试脚本智能标签化
├── ui-test-executor/ # UI 测试智能执行调度引擎
├── ui-failure-diagnoser/ # UI 测试失败诊断与自动修复
├── ui-report-generator/ # UI 测试报告生成专家
├── ui-pipeline-scheduler/ # UI 自动化全链路流水线调度器
└── ... # 更多技能持续添加中
将口语化、非结构化的原始业务需求自动拆解为标准化的结构化用户故事(User Story)。
适用场景:
- 输入一段需求描述,让其整理、拆分、写用例、分析或梳理
- 粘贴需求文档(docx、txt、md),自动拆解并输出结构化用户故事
使用方式:
在 Claude Code 中直接输入需求描述,或在对话中输入:
/req-to-user-story
核心能力:
- 按功能独立性识别和拆分功能点,忽略原始文档结构的粒度干扰
- 自动识别参与角色、主流程、替代流程、异常场景和前后置条件
- 支持纯文本和文档文件输入,文档输入时自动保存拆解结果到同目录
输出格式:
每条用户故事以编号表格形式呈现,包含参与者、前置条件、主流程、替代流程、后置条件、异常情况等字段。
对已有的用户故事进行系统性审查,检查是否存在遗漏的场景和维度。
适用场景:
- 检查用户故事的完整性和遗漏
- 审查需求、补充边界场景和异常情况
- 对用户故事做上线前的最终质量把关
使用方式:
在 Claude Code 中提供用户故事列表,或输入:
/review-user-stories
四个审查维度:
| 维度 | 说明 |
|---|---|
| 边界条件 | 数量、金额、长度、时间、分页、频率、容量等上下限 |
| 异常场景 | 并发冲突、数据不一致、网络异常、服务不可用、重复操作等 |
| 业务规则 | 时序规则、计算规则、状态流转、冲突规则、关联规则、时效规则 |
| 非功能性需求 | 性能、安全、可用性、数据一致性、审计日志、兼容性 |
核心能力:
- 逐条审查并输出内嵌批注式报告(原始内容 + 审查发现)
- 跨故事的交叉审查,发现逻辑矛盾和衔接缺失
- 建议新增的用户故事,补充未覆盖的场景
- 支持纯文本和文档文件输入,文档输入时自动保存审查报告
基于用户故事系统化拆解测试点,以 XMind 思维导图格式输出结构化测试点清单。
适用场景:
- 提供用户故事文本或文档,要求拆解测试点
- 对需求进行测试评审,生成测试点思维导图
- 涉及"测试点"、"测试设计"、"功能测试"等关键词
使用方式:
在 Claude Code 中提供用户故事,或输入:
/generator-testcase-xmind
五大测试维度:
| 维度 | 说明 |
|---|---|
| 功能测试 | 正常流程、分支流程、多角色多路径 |
| 边界值测试 | 输入长度、数值范围、字符类型、时间日期边界 |
| 异常测试 | 错误输入、系统异常、网络异常 |
| 业务规则测试 | 业务逻辑约束、状态转换规则 |
| 非功能性测试 | 性能、安全性、兼容性 |
核心能力:
- 系统化拆解,五大维度全覆盖,不遗漏不重复
- 等价类划分 + 边界值分析,每个无效等价类单独设计测试点
- 按 P0/P1/P2 标注优先级
- 支持 docx/txt 文档和纯文本输入,输出 XMind 文件
基于用户故事或测试点,生成完整的可执行测试用例,以 Excel (.xlsx) 格式输出。
适用场景:
- 提供用户故事(文本或 docx),要求生成测试用例
- 提供 xmind 测试点,要求转化为可执行的测试用例
- 要求输出 Excel 格式的测试用例
使用方式:
在 Claude Code 中提供用户故事或测试点,或输入:
/generator-testcase-excel
核心能力:
- 每个用例包含 8 个标准字段:编号、标题、前置条件、测试步骤、测试数据、预期结果、优先级、关联需求编号
- 等价类划分 + 边界值分析(5类边界值全覆盖),测试数据具体可执行
- 异常用例验证提示信息内容,预期结果明确可验证
- 支持 docx(用户故事)、xmind(测试点)、纯文本三种输入,输出含两个 Sheet 的 Excel 文件(用例表 + 统计表)
对 AI 生成的测试用例进行分类分级、5 维评审打分和 7 项量化指标统计。
适用场景:
- 评审测试用例质量、逐条评分打分
- 对用例分级分类(可用/待修改/错误无效)
- 统计用例覆盖率等量化指标
使用方式:
在 Claude Code 中提供测试用例文件,或输入:
/review-testcase
5 维评审体系(满分 100):
| 维度 | 满分 | 评审重点 |
|---|---|---|
| 逻辑完整性 | 25 | 步骤清晰、逻辑链路跑通 |
| 预期结果明确性 | 20 | 每步预期结果可验证 |
| 前置条件完备性 | 15 | 环境、数据、权限等条件完整 |
| PRD 覆盖度 | 25 | 覆盖核心功能点与联动规则 |
| 边界异常覆盖 | 15 | 边界值、并发、互斥、错误处理充分 |
7 项量化指标:
需求覆盖率(≥95%)、反向用例占比(≥30%)、边界用例数量(每功能点≥2)、重复用例率(≤10%)、错误用例率(≤5%)、高危场景覆盖率(100%)、历史缺陷覆盖率(≥80%)。
核心能力:
- 三级分类:可用 / 待修改 / 错误无效(含否决规则)
- 逐条评分并输出扣分原因和改进建议
- 支持 Excel 和 XMind 格式输入,输出同格式评审版文件 + Markdown 评审报告
对已有测试用例或测试点进行 11 维度深度场景遗漏分析,补全人工最易遗漏的测试场景。
适用场景:
- 补全用例场景、检查遗漏场景
- 补全高频 BUG 用例、补齐非功能用例
- 对已有用例做查漏补缺
使用方式:
在 Claude Code 中提供测试用例或测试点,或输入:
/safe-testcase
11 个检查维度:
| 维度 | 说明 |
|---|---|
| 等价类覆盖 | 有效/无效等价类完整性 |
| 边界场景 | 边界外值、空值、特殊字符、极长极短输入 |
| 业务规则交叉 | 多条件组合场景(正交法/成对组合法) |
| 状态迁移 | 合法/非法状态转换路径 |
| 非功能性需求 | 性能、安全、兼容性覆盖 |
| 性能场景 | 高并发、响应时间、大数据量、资源耗尽 |
| 安全场景 | SQL 注入、XSS、CSRF、越权访问等 |
| 反向用例 | 每个异常分支独立反向用例 |
| 兼容性场景 | 多浏览器、多设备、多系统、多分辨率 |
| 历史 BUG 案例 | 基于历史 BUG 记录复现场景 |
| 业务特定规则 | 隐藏规则和禁止规则覆盖 |
核心能力:
- 标识与内容分离:Excel 独立列、XMind label、文本行末标记,便于筛选过滤
- 支持 Excel、XMind、文本/Markdown 三种格式输入输出
- 只追加不修改,严格保留原始内容不变
将来自不同来源、不同格式的接口定义数据统一转换成标准化结构化接口数据。
适用场景:
- 解析 Swagger/OpenAPI、Postman 集合、HAR 抓包、YApi/Apifox 导出文档
- 纯文本接口描述转结构化数据
- 为后续测试脚本生成、数据构造、场景分析准备统一的接口数据输入
使用方式:
在 Claude Code 中提供接口定义文件,或输入:
/api-schema-parser
支持的输入格式:
Swagger 2.0 / OpenAPI 3.x (JSON/YAML)、Postman 集合 (v2.0/v2.1)、HAR 抓包文件、YApi 导出 JSON、Apifox 导出 JSON/YAML、纯文本描述
核心能力:
- 自动识别输入源类型,匹配对应解析规则
- 深度解析参数(Path/Query/Header/Body),递归展开
$ref引用 - 解析成功/异常响应体,提取业务错误码映射
- 识别隐性业务规则(限流、加密、鉴权、依赖、幂等性等),标注置信度
- 输出标准化
api_definitions.json/yaml
基于不同输入来源自动生成覆盖全场景、可直接用于数据驱动测试的测试数据集。
适用场景:
- 基于接口定义生成测试数据(传统模式)
- 基于自定义字段规则生成测试数据(规范模式)
- 用自然语言描述数据需求,Faker 驱动生成(自然语言模式)
使用方式:
在 Claude Code 中提供接口定义、字段规则文件或自然语言描述,或输入:
/api-testdata-generator
三种输入模式:
| 模式 | 输入来源 | 适用场景 | 输出格式 |
|---|---|---|---|
| 传统模式 | api_definitions.json |
接口测试、数据驱动测试 | YAML/JSON/Excel |
| 规范模式 | 自定义字段规则文件 | 多类型测试、团队规范驱动 | YAML/JSON/Excel/CSV |
| 自然语言模式 | 自然语言描述 | 手工测试、性能测试、UI 自动化 | CSV/JSON |
四大数据维度:
| 维度 | 占比 | 说明 |
|---|---|---|
| 正向合法数据 | 20% | 满足所有业务与格式规则的标准数据 |
| 边界值数据 | 30% | 最小/最大长度、数值上下限、临界合法值 |
| 异常非法数据 | 35% | 空值、Null、缺失参数、类型不匹配、格式错误 |
| 安全与幂等数据 | 15% | SQL 注入、XSS、重复提交等风险场景 |
核心能力:
- 自动处理接口依赖数据(Token、用户 ID、订单号等)
- 支持多种输出格式(YAML/JSON/Excel/CSV)
- 自然语言模式基于 Faker 库生成中文场景数据
基于标准化接口定义与可选测试数据,批量生成分层架构、可直接运行的接口自动化测试脚本。
适用场景:
- 将接口定义转化为可执行的 Pytest 自动化测试工程
- 基于测试数据生成数据驱动测试脚本
- 快速搭建接口自动化测试项目
使用方式:
在 Claude Code 中提供接口定义文件,或输入:
/api-testscript-generator
技术栈: Python + Requests + Pytest + Allure2
两种数据模式:
| 模式 | 适用场景 |
|---|---|
| 数据驱动模式 | 有测试数据文件,脚本与数据解耦 |
| 内联数据模式 | 无测试数据文件,脚本内自动生成默认数据 |
分层架构:
api_auto_project/
├── config/ # 环境配置、全局常量
├── api/ # 接口请求层(封装所有接口)
├── testcases/ # 测试用例层
├── data/ # 测试数据(数据驱动模式)
├── utils/ # 工具类(请求/断言/鉴权/日志)
├── conftest.py # Pytest 全局钩子
└── pytest.ini # Pytest 配置
核心能力:
- 自动生成接口请求层封装(路径参数替换、参数构建、请求调用)
- 三层断言(状态码 + 业务码 + 业务数据)
- 注入企业级健壮逻辑:统一超时/重试/异常捕获/Token 鉴权/日志/Allure 报告
- 支持多环境切换(dev/test/pre/prod)
对 AI 生成的接口自动化脚本做自动化检查、问题诊断、规范对齐、缺陷修复与场景补齐。
适用场景:
- 检查优化接口自动化测试脚本
- 对 AI 生成的脚本做质量审查
- 补全遗漏的测试场景
使用方式:
在 Claude Code 中提供接口测试脚本目录,或输入:
/api-test-optimizer
4 类校验 + 10 维度场景补齐:
| 能力 | 说明 |
|---|---|
| 语法校验 | 语法错误、依赖缺失、变量未定义 |
| 规范校验 | 命名规则、注释完整性、目录结构 |
| 健壮性校验 | 等待机制、异常捕获、鉴权逻辑 |
| 逻辑校验 | 断言覆盖、接口依赖、业务规则 |
10 维度场景补齐:
正向场景、必填校验、参数合法性、边界值、异常处理、业务规则、安全风险、接口依赖、兼容性、断言完整性。
核心能力:
- 自动修复语法错误、规范对齐、健壮性增强、逻辑修复、代码精简
- 输出校验报告(Markdown)+ 优化后可执行脚本工程
- 非破坏性优化:在输出目录生成新文件,不修改原始脚本
- 所有修改添加
[优化器XXX]标识注释,便于 Code Review
为接口自动化测试脚本自动打上标准化标签,建立可筛选、可过滤、可统计的标签体系。
适用场景:
- 为 API 测试脚本批量打标签、添加标记、标注优先级
- 检测标签冲突或补全缺失标签
- 按模块/场景/优先级分类管理测试用例
- 生成标签分布统计报告
使用方式:
在 Claude Code 中提供测试脚本目录,或输入:
/api-test-tagger
五维标准化标签体系:
| 维度 | 标签格式 | 值域 | 必填 |
|---|---|---|---|
| 优先级 | P0/P1/P2/P3 | P0=核心链路, P1=重要, P2=一般, P3=边缘 | 是 |
| 模块 | module:xxx | auth/order/product/cart/user/address/payment/admin | 是 |
| 场景 | scene:xxx | positive/negative/boundary/security | 是 |
| 执行策略 | run:xxx | smoke/regression/full | 是 |
| 环境 | env:xxx | dev/test/pre/prod | 否(默认 env:test) |
核心能力:
- 智能标签推荐:基于脚本语义(方法名、docstring、请求路径)自动推荐标签
- 冲突检测:自动检测优先级、场景、策略冲突并标注
- 标签补全:每个测试方法必须具备 4 类必填标签,缺失自动补全
- 支持三种模式:analyze(仅分析)/ apply(分析并写入)/ report(仅统计报告)
接口自动化测试的智能执行调度引擎,聚焦三大基础能力:触发执行、范围筛选、结果收集。
适用场景:
- 触发执行 pytest 接口测试,自动加载环境配置
- 按范围/模块/标签/自然语言筛选测试用例
- 收集结构化测试结果(JSON + Markdown)
- 模拟执行预览用例列表
使用方式:
在 Claude Code 中提供项目目录路径并描述执行意图,或输入:
/api-test-executor
四种筛选模式:
| 模式 | 说明 |
|---|---|
| 标签索引模式 | 基于 tag_index.json 精准筛选(推荐) |
| pytest marker 模式 | 基于项目 conftest.py 定义的 marker 筛选 |
| 文件路径回退模式 | 按模块匹配文件名筛选 |
| 自然语言解析模式 | 解析用户自然语言描述为 CLI 参数 |
核心能力:
- 一键触发 pytest,自动组装执行命令
- 自然语言意图解析(如"跑一下冒烟测试"→
-m smoke) - 结构化结果收集:
execution_results.json+execution_summary.md - 输出 Allure、HTML、JUnit 多格式原生报告
接口自动化测试失败用例的智能诊断与自动修复技能,核心定位是"测试执行闭环的修复环节"。
适用场景:
- 测试失败后自动分析失败原因、分类失败类型
- 接口变更导致脚本失败,需要自动修复
- 断言失败、参数构造错误、异常处理缺失等脚本问题修复
- 批量诊断并修复失败用例
使用方式:
在 Claude Code 中提供 execution_results.json 或失败日志,或输入:
/api-failure-diagnoser
四大失败分类:
| 失败类型 | 判定信号 | 处理 |
|---|---|---|
| ENV_ERROR | 连接超时、拒绝连接、502/503/504 | 标记环境问题,不修复 |
| DATA_ERROR | 资源 404、Token 过期、唯一性冲突 | 标记数据问题,不修复 |
| SCRIPT_ERROR | AssertionError、KeyError、接口路径 404 | 自动修复 |
| BUG | 500 业务逻辑错误、返回数据违反规则 | 生成 Bug 报告 |
六大根因类型: 接口变更、断言过严、参数构造错误、异常处理缺失、数据依赖错误、时序/异步问题
核心能力:
- 自动分类失败类型,精准定位根因
- 最小侵入修复:仅修改导致失败的最小代码范围
- 安全机制:备份先行(.bak)、默认生成 .patch 文件供审核
- 修复后自动验证,验证失败自动回滚
接口自动化测试专用的数据清理工具,解决测试执行后的数据堆积与数据污染问题。
适用场景:
- 清理测试执行后产生的临时数据、重复数据、脏数据
- 重置测试环境、清理缓存、清理临时文件
- 测试完成后自动清理(联动调用)
- CI 定时清理测试环境数据
使用方式:
在 Claude Code 中描述清理需求,或输入:
/api-testdata-cleaner
三层清理能力:
| 层级 | 说明 |
|---|---|
| 数据库清理 | 清空测试产生的临时用户、商品、订单、地址等数据 |
| Redis 缓存清理 | 清理 Token、验证码、临时缓存、接口会话数据 |
| 本地文件清理 | 清理日志、allure-results、.pytest_cache 等 |
核心能力:
- 生产环境强制拦截(env_type=prod 直接终止)
- 白名单保护:admin 账号、正式业务数据永久保留
- 断点容错:单模块失败不中断整体流程
- 审计留痕:每步操作写入日志,输出标准化清理报告
将接口测试执行结果、诊断结论和历史数据转化为多维度、可视化、可驱动决策的专业 HTML 测试报告。
适用场景:
- 生成可视化 HTML 测试报告
- 查看测试执行总结、趋势分析
- 多维度数据图表(饼图/柱状图/折线图)展示
- 集成 Allure 报告实现双报告联动
使用方式:
在 Claude Code 中提供执行结果文件,或输入:
/api-report-generator
报告包含模块:
- 总览大盘(通过率、响应耗时)
- 趋势图表(通过率折线图、接口耗时趋势)
- 模块统计(按业务模块的饼图/柱状图)
- 用例明细(列表展示,支持筛选分页)
- 故障详情(失败用例、AI 诊断根因、修复建议)
- 风险分级(高/中/低风险模块、高频失败接口)
- 优化建议(脚本重构、断言调整、场景补充)
- Allure 跳转入口
核心能力:
- 多源数据聚合:对接 executor、diagnoser、cleaner 的输出
- 单文件 HTML 输出(CSS/JS/图表内联),可独立打开
- 自动生成并启动 Allure 报告
- 智能风险分析和优化建议生成
接口自动化测试的统一调度入口,编排三个子技能按固定顺序串行执行,实现一键完成「测试→清理→报告」全流程。
适用场景:
- 一键测试并出报告(全流程自动化)
- 流水线执行、pipeline 调度
- 完整的测试→清理→报告链路
- CI/CD 集成定时触发
使用方式:
在 Claude Code 中描述全流程执行意图,或输入:
/api-pipeline-scheduler
编排的子技能(固定顺序):
- api-test-executor — 执行接口测试,收集结构化执行结果
- api-testdata-cleaner — 清理测试产生的临时数据、脏数据
- api-report-generator — 生成可视化 HTML 测试报告 + Allure 报告联动
四种执行模式:
| 模式 | 说明 |
|---|---|
| full_flow | 全链路串行执行(executor → cleaner → report-generator) |
| only_exec | 仅执行接口测试 |
| only_clean | 仅执行数据清理 |
| only_report | 仅生成测试报告 |
核心能力:
- 参数自动透传:环境、文件路径、开关等参数在子技能间自动传递
- 容错控制:单环节失败可选继续或终止
- 统一输出:汇总所有子技能执行状态、文件路径、关键指标
- 环境隔离:仅允许 dev/test 环境,prod 环境直接拦截
将页面 URL 或自然语言用例描述转换为标准化的 pages.yaml 页面对象定义,作为 UI 自动化测试数据链路的起点。
适用场景:
- 提供页面 URL,自动抓取 DOM 结构和交互元素
- 全站自动爬取(单入口 URL 发现全站页面)
- 提供自然语言用例描述,AI 推断页面结构
- 需要认证的页面抓取
使用方式:
在 Claude Code 中提供页面 URL 或用例描述,或输入:
/ui-page-parser
核心策略:Playwright 动态抓取 → CDP 连接 → 推断兜底(三级降级)
| 模式 | 说明 |
|---|---|
| Playwright 动态抓取 | 首选,启动无头浏览器抓取渲染后真实 DOM + 截图 |
| CDP 连接模式 | macOS 沙箱兼容,连接外部 Chrome 进程 |
| 推断兜底模式 | 无法访问页面时,AI 基于用例推断页面结构 |
核心能力:
- 全站爬取:BFS 遍历,自动发现链接、Vue Router 路由、参数化 URL 归组
- 认证抓取:支持 CDP 交互式认证和 Storage State 录制两种方式
- 自动检测认证拦截页面,发现后引导用户完成认证补爬
- 输出标准化
pages.yaml/json,向下游 UI 测试技能提供标准输入
基于 pages.yaml 页面定义和业务测试用例,生成 Playwright + POM + Pytest 的 UI 自动化测试脚本。
适用场景:
- 将业务测试用例转化为可执行的 Playwright 测试代码
- 创建 POM 页面对象、搭建 UI 自动化测试项目
- 提供了 pages.yaml 和测试用例文档,希望生成自动化脚本
使用方式:
在 Claude Code 中提供 pages.yaml 和测试用例,或输入:
/ui-testscript-generator
核心原则:以业务测试用例为唯一生成范围,pages.yaml 仅作为元素定位的查询数据库。
技术栈: Playwright + POM(Page Object Model)+ Pytest
工作流程:
- 解析测试用例 → 提取涉及页面和操作步骤
- 匹配 pages.yaml → 获取元素定位器
- 初始化项目结构 → 创建目录和基础文件
- 生成 POM 页面对象 → 每个页面一个类,封装元素操作
- 生成测试脚本 → 用例转 pytest 测试方法
- 生成测试数据 → 静态数据文件 + DataFactory(Faker)
核心能力:
- 定位器优先级:
data-testid>aria-label>id>name> CSS > XPath - POM 方法返回 self(同页操作)或目标 Page 对象(页面跳转),支持链式调用
- 测试方法独立,禁止 time.sleep,统一使用 Playwright 自动等待
对已生成的 Playwright + POM + Pytest UI 测试脚本做健壮性增强,提升脚本运行稳定性。
适用场景:
- 脚本跑不稳定、经常失败(flaky test)
- 需要添加智能等待、验证码识别、弹窗处理
- 需要失败截图录屏、异常重试等追溯能力
使用方式:
在 Claude Code 中提供测试脚本目录,或输入:
/ui-testscript-enhancer
六大增强能力:
| 能力 | 说明 |
|---|---|
| 智能等待 | wait_for_page_ready、wait_for_ajax、wait_for_animation、safe_click/fill |
| 验证码识别 | 图形验证码(OCR)、滑动验证码、短信验证码、打码平台 API |
| 弹窗处理 | 自动关闭意外弹窗(alert/confirm/prompt) |
| iframe 穿透 | 自动进入/退出 iframe,支持 Shadow DOM |
| 重试容错 | 操作级重试装饰器、页面崩溃自动恢复 |
| 失败追溯 | 自动截图、Trace 录制、网络请求日志 |
核心能力:
- 不改变原有测试逻辑,只在脚本外围包裹稳定性机制
- 提供验证码识别专项检测脚本,可独立运行验证 OCR 准确率
- 增强版 BasePage 替换原有基类,所有 POM 自动继承增强能力
对已增强的 UI 测试脚本添加视觉回归、跨浏览器兼容性、响应式布局测试能力。
适用场景:
- 页面改版后样式变形自动检测
- 不同浏览器下渲染差异验证
- 移动端/平板布局响应式测试
- 截图比对、像素级视觉回归测试
使用方式:
在 Claude Code 中提供测试脚本目录,或输入:
/ui-visual-assert
三大测试能力:
| 能力 | 说明 |
|---|---|
| 视觉回归测试 | pixelmatch + Pillow 像素级截图比对,支持动态区域遮罩 |
| 跨浏览器测试 | Chromium/Firefox/WebKit 三引擎差异容忍,独立基线管理 |
| 响应式测试 | desktop (1920x1080) / tablet (768x1024) / mobile (375x812) 多视口 |
核心能力:
- 基于 Playwright 原生截图 + pixelmatch 实现,无需第三方云服务
- 动态区域处理:通过 CSS 注入隐藏验证码、时间戳等动态内容
- 元素级截图断言:支持特定元素区域单独比对
- 基线自动管理:首次运行自动生成基线,UI 变更时
UPDATE_SNAPSHOTS=true更新 - 截图前预处理:禁用动画、等待字体加载、统一滚动条样式
为 Playwright + POM + Pytest 的 UI 测试脚本自动打上标准化标签,建立可筛选、可过滤、可统计的标签体系,为按标签执行、按模块生成报告、按优先级调度、按浏览器分发提供基础。
适用场景:
- 为 UI 测试脚本批量打标签、检测冲突、补全缺失标签
- 按模块/场景/页面/优先级分类管理 Playwright 用例
- 生成标签分布统计报告
- 结合 pytest
-m实现冒烟、回归、模块化执行
使用方式:
在 Claude Code 中提供测试脚本目录,或输入:
/ui-test-tagger
六维标准化标签体系:
| 维度 | 标签格式 | 值域示例 | 必填 |
|---|---|---|---|
| 优先级 | P0/P1/P2/P3 | 核心链路 / 重要 / 一般 / 边缘 | 是 |
| 模块 | module:xxx | login/product/cart/order/payment/user | 是 |
| 场景 | scene:xxx | positive/negative/boundary/full_flow/visual_regress | 是 |
| 页面类型 | page:xxx | home/list/detail/form/dialog | 是 |
| 执行策略 | run:xxx | smoke/regression/full | 是 |
| 浏览器/平台 | browser:xxx, platform:xxx | chrome/firefox/edge/safari | 否 |
核心能力:
- 智能推荐:解析方法名、docstring、
page.goto()路径、Playwright 操作步骤、断言内容,参照 pages.yaml 推断模块和优先级 - 冲突检测:自动检测优先级、场景、策略、页面类型冲突
- 装饰器映射:
module:login→@pytest.mark.module_login,含冒号标签自动转下划线 - 三种模式:analyze(仅分析)/ apply(写入)/ report(仅统计),默认 analyze 安全优先
将已编写好的 Playwright + Pytest UI 测试脚本真正跑起来,形成「标签筛选 → 环境检测 → 执行调度 → artifact 采集 → 报告产出」的完整执行闭环。
适用场景:
- 触发执行 UI 测试、按标签/模块/优先级筛选
- 跨浏览器矩阵执行、并行加速、失败重试
- 自动采集失败截图、录屏、Trace、Console 日志、Page Source
- 生成 JUnit XML / HTML / JSON 多格式报告,便于 CI 集成
使用方式:
在 Claude Code 中描述执行意图,或输入:
/ui-test-executor
调度前标准化打印(每次必输出):
- 浏览器环境清单:版本号 / Headless 支持 / 未安装提示
- 待执行用例清单:
文件名:类别:用例名,区分前置与主筛选集
6 类 Artifact(仅失败时采集):
| 类型 | 触发 | 路径 |
|---|---|---|
| screenshots | setup/call 失败 | artifacts/screenshots/ |
| page-source | setup/call 失败 | artifacts/page-source/ |
| console-logs | setup/call 失败 | 5 段合并:Page Errors / Console / Network / Performance |
| videos | call 失败 | artifacts/pytest-raw/<slug>/video.webm |
| traces | call 失败 | artifacts/pytest-raw/<slug>/trace.zip |
| har 等价 | 失败 | 写入 console-logs 的 ## Network 段 |
核心能力:
- 自动浏览器检测(Playwright 内置 + 系统浏览器),无可用浏览器时引导安装
- marker 表达式智能构建:
--priority累积包含(P0+P1)、--tagsAND、--modulesOR - 失败用例深度报告:每条失败含判定规则、断言原文、预期 vs 实际、元素校验、截图/录屏/Trace 路径
- Trace Viewer 快捷打开:支持自然语言查询(
latest/小米/ 关键词子串)
WEB UI 自动化测试失败用例智能诊断与全栈自动修复专家。分析 ui-test-executor 输出的 JUnit XML + artifacts,对失败做 6 类分类 + 14 种根因定位,自动修复 pages 层 locator、注入 conftest marker、清理测试脏数据、调起 playwright install。
适用场景:
- 诊断 UI 测试失败根因(环境、定位器、超时、数据、脚本、Bug)
- 元素找不到、页面渲染慢、iframe 切换缺失等自动修复
- pages.yaml 金标准对比修复定位漂移
- 已知 Bug 注入 xfail/flaky marker,不掩盖真实缺陷
使用方式:
在 Claude Code 中提供失败结果文件,或输入:
/ui-failure-diagnoser
6 类失败分类:
| 类型 | 判定信号 | 处理 |
|---|---|---|
| ENV_ERROR | 浏览器/包未装、端口占用 | ✅ 自动 playwright install / pip install / lsof |
| LOCATOR_ERROR | Timeout + locator 在 page-source 不存在 | ✅ AST 修复 + pages.yaml 对比 + 语义推断 |
| TIMEOUT_ERROR | Timeout + locator 存在(渲染慢) | ✅ AST rewrite 调 timeout / 加 wait |
| DATA_ERROR | setup 失败 + 数据问题 | ✅ 调 api-testdata-cleaner |
| SCRIPT_ERROR | AttributeError / Deprecated API | ✅ AST rewrite(typo / 废弃 API / 异步等待) |
| BUG | Page Error / 网络 5xx |
硬约束(永不违反):
- 🚫 不改
tests/**/*.py的断言与业务语义 - 🟢 可改
pages/**/*.py(locator / timeout / iframe) - 🟢 可改
tests/conftest.py(只加 marker hook,不改 fixture/setup) - 🟢 所有副作用操作(pip install / playwright install)走 JSONL 审计日志
核心能力:
- 14 种根因精准定位,每种都有对应 fix_strategy
- AST rewrite 默认备份
.bak,--verify时失败自动回滚 - pages.yaml 金标准对比:同身份元素的 canonical locator 推荐
- 风险分级自动执行:🟢 低风险自动跑 / 🟡 中风险默认跑可关闭 / 🔴 高风险仅建议
将 ui-test-executor 的 JUnit XML + artifacts、ui-failure-diagnoser 的诊断报告、历史趋势数据融合为单文件 HTML 可视化报告,含状态分布、模块通过率、浏览器矩阵、风险分级、失败详情(含内联截图/录屏/Trace 打开按钮)、根因聚类与优化建议。
适用场景:
- 生成可视化 HTML UI 测试报告
- 跨浏览器通过率矩阵对比
- 失败用例深度详情(截图、录屏、Trace 一键打开)
- 历史通过率趋势分析、根因聚类与优化建议
使用方式:
在 Claude Code 中提供执行结果文件,或输入:
/ui-report-generator
数据源(5 类融合):
| 数据源 | 来源 Skill | 关键字段 |
|---|---|---|
| JUnit XML(必需) | ui-test-executor | nodeid / status / duration / browser |
| 失败 artifacts | ui-test-executor | 截图 / page-source / console-log / 录屏 / Trace |
| 诊断报告 | ui-failure-diagnoser | 分类 / 根因 / 修复策略 / 验证状态 |
| 浏览器环境 | ui-test-executor | 已安装浏览器清单 |
| 历史趋势 | 外部累积 | 多次执行通过率序列 |
报告页面分区:
| 区块 | UI 特有增强 |
|---|---|
| 总览大盘(6 张 KPI 卡) | — |
| 数据图表(饼图/柱图/折线) | — |
| 浏览器矩阵 | ✅ 多浏览器通过率对比 |
| 模块统计 | — |
| 诊断根因聚合 | ✅ 集成 ui-failure-diagnoser |
| 风险与建议 | ✅ 含具体修复动作 |
| 失败详情 | ✅ 内联截图 + 录屏 + Trace 打开按钮 |
| 用例明细(筛选+分页) | ✅ 浏览器筛选器 |
核心能力:
- 单文件 HTML 输出(CSS/JS/JSON 内联),可独立打开
- Chart.js 4.4 CDN,离线自动降级到表格
- Trace 一键复制
playwright show-trace命令到剪贴板 - 容错策略:任一可选输入缺失都显示「暂无数据」,不影响整体报告
WEB UI 自动化测试的统一编排入口,把 ui-test-executor → ui-failure-diagnoser → 重试 → merge_reports → ui-report-generator 串成「执行 → 诊断 → 修复 → 重试 → 合并 → 报告」完整闭环,含失败诊断+智能重试+熔断兜底。
适用场景:
- 一键全跑 UI 自动化(执行+诊断+报告全流程)
- 自动修复失败用例并重试(max_retries 循环)
- 端到端 UI 测试流水线
- CI/CD 集成定时触发完整闭环
使用方式:
在 Claude Code 中描述全流程执行意图,或输入:
/ui-pipeline-scheduler
编排的子技能(严格串行):
ui-test-executor → ui-failure-diagnoser → ui-test-executor(重试)→ merge_reports → ui-report-generator
Step 1 Step 2 Step 3 Step 4.5 Step 5
核心能力:
- 零侵入:不修改任何子技能代码/入参/出参,仅做编排与参数透传
- 失败熔断:达 max_retries(默认 2)立即跳出,不死循环
- 始终生成报告:无论失败与否,Step 5 必须执行
- 多轮 XML 合并:内置
merge_reports.py,把首轮完整 XML + 各轮重试 XML 合并,保证最终报告含完整 N 条用例 - 参数自动透传:环境、路径、开关等在子技能间自动传递
- 详细执行摘要:每步骤耗时、修复数、最终通过率、Allure 链接
熔断条件(满足任一即跳出循环):
round >= max_retries(默认 2)- 上一轮诊断修复数 == 0(修复无效)
- 当前轮全部通过
原始需求
│
▼
req-to-user-story ──→ 结构化用户故事
│
▼
review-user-stories ──→ 用户故事审查(补全遗漏)
│
├──→ generator-testcase-xmind ──→ XMind 测试点
│
├──→ generator-testcase-excel ──→ Excel 测试用例
│
▼
safe-testcase ──→ 场景遗漏补全
│
▼
review-testcase ──→ 用例质量评审(评分 + 分级)
接口文档(Swagger/Postman/HAR 等)
│
▼
api-schema-parser ──→ 标准化接口数据 (api_definitions.json)
│
├──→ api-testdata-generator ──→ 全场景测试数据
│ │
│ ▼
│ api-testscript-generator ──→ 接口自动化脚本工程
│ │
│ ▼
│ api-test-optimizer ──→ 脚本质量检查与优化
│ │
│ ▼
│ api-test-tagger ──→ 智能标签化管理
│ │
│ ▼
│ api-test-executor ──→ 智能执行调度
│ │
│ ├──→ api-failure-diagnoser ──→ 失败诊断与自动修复
│ │
│ └──→ api-pipeline-scheduler ──→ 全链路流水线调度
│ │
│ ├── api-test-executor(执行测试)
│ ├── api-testdata-cleaner(清理数据)
│ └── api-report-generator(生成报告)
│
└──→ 也可直接进入 generator-testcase-xmind/excel 生成接口级测试用例
页面 URL / 测试用例描述
│
▼
ui-page-parser ──→ 标准化页面对象 (pages.yaml)
│
▼
ui-testscript-generator ──→ Playwright + POM + Pytest 测试脚本
│
▼
ui-testscript-enhancer ──→ 脚本健壮性增强(智能等待/验证码/弹窗/重试)
│
▼
ui-visual-assert ──→ 视觉回归 + 跨浏览器 + 响应式测试
│
▼
ui-test-tagger ──→ 六维智能标签化管理(优先级/模块/场景/页面/策略/浏览器)
│
▼
ui-test-executor ──→ 智能执行调度(标签筛选/浏览器矩阵/失败 artifact 采集)
│ │
│ ├──→ ui-failure-diagnoser ──→ 失败诊断与自动修复(6 类分类 + 14 种根因)
│ │
│ └──→ ui-pipeline-scheduler ──→ 全链路流水线调度(执行→诊断→重试→报告)
│ │
│ ├── ui-test-executor(首轮执行)
│ ├── ui-failure-diagnoser(诊断修复)
│ ├── ui-test-executor(重试失败用例)
│ ├── merge_reports(多轮 XML 合并)
│ └── ui-report-generator(生成最终报告)
│
└──→ 也可直接调子技能独立执行:
- ui-test-executor:单独跑测试
- ui-failure-diagnoser:单独诊断已有失败
- ui-report-generator:基于 JUnit XML 出报告
最小运行路径(不使用流水线编排):
ui-test-executor ──→ pytest tests/ --headed
将需要的 Skill 目录复制或克隆到你的 Claude Code 技能目录下即可使用。
# 克隆仓库
git clone git@github.com:zhoujinjian/skills.git
# 将技能复制到你的项目中使用
cp -r skills/req-to-user-story /path/to/your/project/.claude/skills/欢迎通过 PR 提交新的 Skill 或改进现有 Skill。