pdd-skills 3.1.5 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,6 +22,7 @@
22
22
  - [📊 Phase 7: PDD Visual Manager / Visual Manager](#-phase-7-pdd-visual-manager--visual-manager)
23
23
  - [技能系统 / Skill System](#技能系统--skill-system)
24
24
  - [配置中心 / Configuration Center](#配置中心--configuration-center)
25
+ - [★ 测试用例系统 / Testcase System](#-测试用例系统--testcase-system-new-v320)
25
26
  - [API 层 / API Layer](#api-层--api-layer)
26
27
  - [MCP 协议集成 / MCP Protocol Integration](#mcp-协议集成--mcp-protocol-integration)
27
28
  - [SDK 使用指南 / SDK Guide](#sdk-使用指南--sdk-guide)
@@ -111,9 +112,9 @@
111
112
 
112
113
  | 指标 / Metric | 数值 / Value |
113
114
  | -------------- | ------------------------------------------------------- |
114
- | **版本 / Version** | v3.1.2 |
115
+ | **版本 / Version** | **v3.1.5** |
115
116
  | **核心技能 / Core Skills** | 12 个(全双语 / Full Bilingual 🇨🇳🇺🇸) |
116
- | **专家技能 / Expert Skills** | 12 个(安全/性能/MySQL/若依/若依权限/Activiti/Vue3/微服务/Bug修复/测试/架构) |
117
+ | **专家技能 / Expert Skills** | **14 个**(安全/性能/MySQL/若依/若依权限/Activiti/Vue3/微服务/Bug修复/测试用例建模/测试执行/架构/工程/系统) |
117
118
  | **熵减技能 / Entropy Skills** | 4 个(审计 + 架构约束 + 代码质量 + 自动重构) |
118
119
  | **OpenSpec技能 / OpenSpec Skills** | 10 个(变更管理全生命周期 / Full Lifecycle) |
119
120
  | **PR技能 / PR Skills** | 7 个(模板引擎 + 多轮审查 + PR创建/审查/合并/批量/任务管理) |
@@ -276,6 +277,8 @@ pdd vm export --format csv # 导出数据 / Export data
276
277
  | **expert-vue3** | Vue3 组件开发/状态管理/性能优化 | Vue3 生态最佳实践 |
277
278
  | **expert-springcloud** | 微服务架构/服务治理/配置中心/网关路由 | Spring Cloud Alibaba 全栈解决方案 |
278
279
  | **expert-bug-fixer** | Bug 根因分析/修复方案生成/回归测试建议 | 智能诊断 + 修复策略推荐 |
280
+ | **testcase-modeler** | **测试用例建模/自然语言转YAML/零代码测试** | **6条建模规则+智能意图提取+断言自动注入** |
281
+ | **testcase-agent** | **E2E测试执行/Chrome DevTools MCP/自愈引擎** | **5条铁律+4级元素定位+深度网络校验** |
279
282
  | **software-architect** | 架构模式设计/技术选型/性能权衡 | 生产级架构设计,60+ 界面组件模式 |
280
283
  | **software-engineer** | 代码实现/重构优化/设计模式应用 | 生产级代码,清洁架构 |
281
284
  | **system-architect** | 系统架构设计/模块化设计/安全最佳实践 | PEP8/ESLint 标准,项目初始化 |
@@ -441,10 +444,11 @@ skills/
441
444
  │ ├── expert-vue3/ # Vue3前端 / Vue3 frontend
442
445
  │ ├── expert-springcloud/ # SpringCloud微服务 / Microservices
443
446
  │ ├── expert-bug-fixer/ # Bug修复 / Bug fixing
447
+ │ ├── testcase-modeler/ # ★ 测试用例建模 / Testcase modeling (NEW)
448
+ │ ├── testcase-agent/ # ★ 测试执行引擎 / Test execution engine (NEW)
444
449
  │ ├── software-architect/ # 软件架构 / Software architecture
445
450
  │ ├── software-engineer/ # 软件工程 / Software engineering
446
- │ └── system-architect/ # 系统架构 / System architecture
447
-
451
+ │ └── system-architect/ # 系统架构 / System architecture
448
452
  ├── entropy/ # 熵减治理 / Entropy reduction (4个)
449
453
  ├── pr/ # PR与交付 / PR & Delivery (7个)
450
454
  ├── openspec/ # OpenSpec 协作 / Collaboration (10个)
@@ -466,6 +470,8 @@ skills/
466
470
  | `config/bug-patterns.yaml` | Bug模式库(14个模式 / 14 patterns) | pdd-code-reviewer, pdd-verify-feature, pdd-implement-feature, pdd-template-engine, expert-ruoyi |
467
471
  | `config/prd-rules.yaml` | PRD检测规则(30条 / 30 rules) | pdd-linter, run-linters.js |
468
472
  | `config/gate-config.yaml` | 质量门控配置(4级 / 4 levels) | gate-engine.js |
473
+ | **`config/test-actions.yaml`** | **测试动作库(30+ 动作 / 30+ actions)** | **testcase-modeler, testcase-agent** |
474
+ | **`config/cdp-test-config.yaml`** | **全局测试配置(环境变量/超时/报告)** | **testcase-agent** |
469
475
 
470
476
  ### Bug模式库架构 / Bug Pattern Library
471
477
 
@@ -509,7 +515,498 @@ PRD文档 / PRD Doc → prd-linter (30条规则 / 30 rules) → gate-engine (4
509
515
  ❌ FAIL ✅ PASS
510
516
  ```
511
517
 
512
- ***
518
+ ---
519
+
520
+ ## ★ 测试用例系统 / Testcase System (NEW v3.2.0)
521
+
522
+ > **重要说明 / Important**: PDD Test Skill 是基于 **Chrome DevTools MCP** 的零代码 E2E 测试自动化解决方案,专为无编程经验的测试人员(如实习生)设计。
523
+ >
524
+ > **English**: PDD Test Skill is a **zero-code E2E test automation solution based on Chrome DevTools MCP**, designed for testers without programming experience (such as interns).
525
+
526
+ ### 🎯 系统架构 / System Architecture
527
+
528
+ ```
529
+ ┌─────────────────────────────────────────────────────────────────────────────┐
530
+ │ PDD Test Skill - 零代码 E2E 测试平台 │
531
+ ├─────────────────────────────────────────────────────────────────────────────┤
532
+ │ │
533
+ │ ┌──────────────────────┐ ┌──────────────────────┐ │
534
+ │ │ testcase-modeler │ │ testcase-agent │ │
535
+ │ │ (测试用例建模师) │───▶│ (自动化测试执行专家) │ │
536
+ │ └──────────────────────┘ └──────────────────────┘ │
537
+ │ │ │ │
538
+ │ ▼ ▼ │
539
+ │ ┌──────────────────────┐ ┌──────────────────────┐ │
540
+ │ │ 自然语言描述 │ │ Chrome DevTools MCP │ │
541
+ │ │ ↓ │ │ ↓ │ │
542
+ │ │ 智能意图提取 │ │ CDP 协议操控浏览器 │ │
543
+ │ │ ↓ │ │ ↓ │ │
544
+ │ │ YAML 测试用例 │ │ 执行 + 截图 + 验证 │ │
545
+ │ └──────────────────────┘ └──────────────────────┘ │
546
+ │ │
547
+ │ ┌─────────────────────────────────────────────────────────────────────┐ │
548
+ │ │ 配置中心 (Configuration Center) │ │
549
+ │ │ • config/test-actions.yaml ← 30+ 内置动作(可扩展) │ │
550
+ │ │ • config/cdp-test-config.yaml ← 全局配置(环境变量/超时/报告) │ │
551
+ │ └─────────────────────────────────────────────────────────────────────┘ │
552
+ │ │
553
+ └─────────────────────────────────────────────────────────────────────────────┘
554
+ ```
555
+
556
+ ### 📊 核心特性 / Core Features
557
+
558
+ | 特性 / Feature | 说明 / Description | 受益者 / Beneficiary |
559
+ | --------------- | ------------------- | -------------------- |
560
+ | **零代码门槛 / Zero-Code** | 自然语言 → YAML 用例,无需编程 | 实习生、业务人员 |
561
+ | **智能建模 / Smart Modeling** | 6条 Iron Rules + 意图自动提取 + 断言注入 | 所有测试人员 |
562
+ | **可靠执行 / Reliable Execution** | 5条铁律 + 每步截图 + 深度网络校验 | QA工程师 |
563
+ | **自愈引擎 / Self-Healing** | 4级元素定位降级策略(成功率 >65%) | 自动化测试 |
564
+ | **安全处理 / Security First** | 密码等敏感信息使用环境变量,禁止硬编码 | 安全合规 |
565
+ | **专业报告 / Professional Reports** | HTML报告含截图/时间线/诊断建议 | 项目经理、管理层 |
566
+
567
+ ---
568
+
569
+ ### 🚀 快速开始 / Quick Start
570
+
571
+ #### 步骤 1:环境配置 / Environment Setup
572
+
573
+ ```bash
574
+ # 设置测试环境变量(Windows PowerShell)
575
+ $env:TEST_USER = "your_username"
576
+ $env:TEST_PASS = "your_password"
577
+ $env:BASE_URL = "http://your-system"
578
+
579
+ # 或 Linux/Mac
580
+ export TEST_USER="your_username"
581
+ export TEST_PASS="your_password"
582
+ export BASE_URL="http://your-system"
583
+ ```
584
+
585
+ #### 步骤 2:使用 Modeler 创建测试用例 / Create Test Case with Modeler
586
+
587
+ **对话触发示例 / Dialog Trigger Examples**:
588
+
589
+ ```bash
590
+ # 方式 1:明确要求生成测试用例
591
+ "帮我写个统一门户登录的测试用例"
592
+
593
+ # 方式 2:自然语言描述操作流程
594
+ "先打开 uniportal.sjjk.com.cn,然后用 yuanye/yuanye 登录,验证首页是否正常显示"
595
+
596
+ # 方式 3:场景化需求
597
+ "实习生不会写代码,帮我录制一下资产评估核准的申请流程"
598
+ ```
599
+
600
+ **Modeler 输出示例 / Modeler Output Example**:
601
+
602
+ 生成的 YAML 文件会保存到 `skills/expert/testcase-modeler/examples/` 目录:
603
+
604
+ ```yaml
605
+ test_id: "LOGIN-001-portal-normal"
606
+ title: "统一门户登录正常流程"
607
+ priority: "P0"
608
+ tags: ["登录", "统一门户", "E2E", "冒烟测试"]
609
+
610
+ context_check:
611
+ login_url: "http://uniportal.sjjk.com.cn"
612
+ home_indicator: "统一门户(新)"
613
+ credentials:
614
+ username: "${TEST_USER}" # 从环境变量读取
615
+ password: "${TEST_PASS}" # 从环境变量读取
616
+
617
+ steps:
618
+ - step: 1
619
+ desc: "打开统一门户登录页面"
620
+ action: navigate
621
+ url: "${LOGIN_URL:-http://uniportal.sjjk.com.cn}"
622
+ wait_after:
623
+ type: time
624
+ duration: 2000
625
+ assertions:
626
+ - type: text_contains
627
+ expected: "欢迎登录"
628
+ confidence: high
629
+
630
+ - step: 2
631
+ desc: "输入用户名"
632
+ action: fill
633
+ target: "用户名输入框"
634
+ value: "${TEST_USER}"
635
+ assertions:
636
+ - type: field_filled
637
+ expected: "字段已填写"
638
+ confidence: high
639
+
640
+ # ... 更多步骤
641
+ ```
642
+
643
+ #### 步骤 3:使用 Agent 执行测试用例 / Execute Test with Agent
644
+
645
+ **对话触发示例 / Dialog Trigger Examples**:
646
+
647
+ ```bash
648
+ # 方式 1:执行指定文件
649
+ "执行 LOGIN-001-portal-normal.yaml 用例"
650
+
651
+ # 方式 2:执行刚才生成的用例
652
+ "将刚才生成的测试用例跑一下"
653
+
654
+ # 方式 3:调试模式
655
+ "带截图执行这个YAML文件,单步调试"
656
+ ```
657
+
658
+ **Agent 执行过程 / Agent Execution Process**:
659
+
660
+ 1. **状态感知(铁律1)**: 检查当前浏览器是否已登录
661
+ 2. **逐步执行**: 按照 YAML 的 steps 顺序执行每个动作
662
+ 3. **每步截图(铁律2)**: 记录操作前后的页面状态
663
+ 4. **断言验证**: 检查文本内容、元素可见性、网络调用
664
+ 5. **自愈机制(铁律4)**: 元素找不到时自动降级尝试其他定位策略
665
+ 6. **报告生成(铁律5)**: 输出 HTML 报告到 `test-results/reports/`
666
+
667
+ **执行结果示例 / Execution Result Example**:
668
+
669
+ ```
670
+ ✅ LOGIN-001-portal-normal 测试通过!
671
+
672
+ 📊 执行摘要:
673
+ • 总步骤数: 5
674
+ • 通过: 5 | 失败: 0 | 跳过: 0
675
+ • 自愈次数: 1(Step 3 密码框UID修复)
676
+ • 执行时间: 8.5s
677
+
678
+ 📸 截图证据:
679
+ • step-01-before.png (登录页初始状态)
680
+ • step-02-after.png (用户名已填入)
681
+ • step-03-after.png (密码已填入)
682
+ • step-04-after.png (点击登录后)
683
+ • step-05-after.png (首页加载完成)
684
+
685
+ 🌐 网络校验:
686
+ ✅ POST /data/sys-auth/login [200]
687
+ ✅ POST /data/sys-person/sysPersonConfig/details [200]
688
+
689
+ 📄 完整报告: test-results/reports/TR-1778232000000.html
690
+ ```
691
+
692
+ ---
693
+
694
+ ### 📚 YAML 用例规范 / YAML Test Case Specification
695
+
696
+ #### 必填字段 / Required Fields
697
+
698
+ | 字段 / Field | 类型 / Type | 说明 / Description |
699
+ | ------------- | ----------- | ------------------- |
700
+ | `test_id` | string | 唯一标识符(格式:`MODULE-NNN-name`) |
701
+ | `title` | string | 测试用例标题 |
702
+ | `priority` | string | 优先级(P0/P1/P2/P3) |
703
+ | `tags` | array | 标签数组(用于分类和筛选) |
704
+ | `context_check` | object | 前置状态检查配置 |
705
+ | `steps` | array | 测试步骤列表 |
706
+
707
+ #### context_check 配置 / Context Check Configuration
708
+
709
+ ```yaml
710
+ context_check:
711
+ login_url: "http://example.com/login" # 登录页 URL
712
+ home_indicator: "首页" # 已登录状态的标志性文本
713
+ credentials: # 凭据配置
714
+ username: "${TEST_USER}" # 用户名(环境变量)
715
+ password: "${TEST_PASS}" # 密码(环境变量)
716
+ captcha_required: false # 是否需要验证码
717
+ sso_enabled: true # 是否支持 SSO 单点登录
718
+ ```
719
+
720
+ #### steps 步骤定义 / Step Definition
721
+
722
+ 每个步骤支持以下核心字段:
723
+
724
+ ```yaml
725
+ - step: 1 # 步骤序号(必填)
726
+ desc: "步骤描述" # 人类可读的描述(必填)
727
+ action: navigate | fill | click | # 动作类型(必填)
728
+ select | assert_multiple |
729
+ wait | screenshot | evaluate
730
+ target: "目标元素描述" # 语义化元素描述
731
+ url: "URL地址" # 用于 navigate 动作
732
+ value: "输入值" # 用于 fill/select 动作
733
+ locator: # 元素定位器(可选)
734
+ uid_cache_key: "username_input" # UID缓存键(复用优化)
735
+ wait_after: # 操作后等待策略
736
+ type: time | navigation | element # 等待类型
737
+ duration: 2000 # 等待时间(ms)或超时时间
738
+ assertions: # 断言列表(规则4推荐)
739
+ - type: text_contains | element_visible |
740
+ field_filled | value_equals |
741
+ url_contains | network_called |
742
+ element_count_greater_than
743
+ expected: "期望值"
744
+ confidence: high | medium | low # 置信度
745
+ ```
746
+
747
+ #### 支持的动作类型 / Supported Action Types
748
+
749
+ | 动作 / Action | 说明 / Description | MCP 工具 / MCP Tool |
750
+ | ------------- | ------------------ | -------------------- |
751
+ | `navigate` | 打开页面 / Navigate to URL | `navigate_page` |
752
+ | `fill` | 填写输入框 / Fill input field | `fill` / `fill_form` |
753
+ | `click` | 点击元素 / Click element | `click` |
754
+ | `select` | 选择下拉选项 / Select dropdown | `select_option` |
755
+ | `wait` | 等待条件 / Wait for condition | `wait_for` |
756
+ | `screenshot` | 截图 / Take screenshot | `take_screenshot` |
757
+ | `assert_multiple` | 多重断言 / Multiple assertions | (内置逻辑) |
758
+ | `evaluate` | 执行 JavaScript / Execute JS | `evaluate_script` |
759
+
760
+ #### 支持的断言类型 / Supported Assertion Types
761
+
762
+ | 断言 / Assertion | 说明 / Description | 适用场景 / Use Case |
763
+ | ---------------- | ------------------ | ------------------- |
764
+ | `text_contains` | 页面包含文本 | 验证页面内容 |
765
+ | `element_visible` | 元素可见 | 验证UI元素存在 |
766
+ | `field_filled` | 字段已填写 | 验证表单输入完成 |
767
+ | `value_equals` | 值匹配 | 验证具体值 |
768
+ | `url_contains` | URL包含特征 | 验证页面跳转 |
769
+ | `network_called` | API调用检查 | 深度验证后端请求 |
770
+ | `element_count_greater_than` | 元素数量验证 | 验证列表数据量 |
771
+
772
+ ---
773
+
774
+ ### ⚙️ 配置文件详解 / Configuration Files Details
775
+
776
+ #### config/test-actions.yaml - 动作库 / Action Library
777
+
778
+ 定义所有可用的测试动作及其自然语言匹配模式:
779
+
780
+ ```yaml
781
+ # 示例:导航类动作
782
+ navigate:
783
+ display: "打开页面"
784
+ patterns:
785
+ - "打开 {url}"
786
+ - "访问 {url}"
787
+ - "导航到 {url}"
788
+ mcp: mcp_Chrome_DevTools_MCP_navigate_page
789
+ params:
790
+ - name: url
791
+ type: string
792
+ required: true
793
+ examples:
794
+ - "打开 http://uniportal.sjjk.com.cn"
795
+
796
+ # 示例:表单操作类动作
797
+ fill:
798
+ display: "填写输入框"
799
+ patterns:
800
+ - "输入 {value} 到 {target}"
801
+ - "在 {target} 输入 {value}"
802
+ mcp: mcp_Chrome_DevTools_MCP_fill
803
+ ```
804
+
805
+ **扩展自定义动作 / Extend Custom Actions**:
806
+
807
+ 用户可以在 `config/test-actions.yaml` 中添加自定义动作:
808
+
809
+ ```yaml
810
+ my_custom_action:
811
+ display: "我的自定义动作"
812
+ patterns:
813
+ - "执行自定义操作 {param}"
814
+ mcp: mcp_Chrome_DevTools_MCP_evaluate_script
815
+ params:
816
+ - name: param
817
+ type: string
818
+ required: true
819
+ ```
820
+
821
+ #### config/cdp-test-config.yaml - 全局配置 / Global Configuration
822
+
823
+ 控制测试框架的全局行为:
824
+
825
+ ```yaml
826
+ test_settings:
827
+ screenshot_on_each_step: true # 每步都截图(铁律2强制要求)
828
+ network_monitor: true # 监控网络请求(铁律3)
829
+ self_healing: true # 启用自愈机制(铁律4)
830
+ report_format: "html" # 报告格式(铁律5)
831
+
832
+ timeouts:
833
+ navigation: 30000 # 页面导航超时 30s
834
+ element_locate: 10000 # 元素定位超时 10s
835
+ action_execute: 15000 # 动作执行超时 15s
836
+
837
+ env_mapping:
838
+ TEST_USER: "${TEST_USER}" # 用户名(从环境变量读取)
839
+ TEST_PASS: "${TEST_PASS}" # 密码(绝对禁止明文!)
840
+ BASE_URL: "${BASE_URL}" # 基础URL
841
+ ```
842
+
843
+ ---
844
+
845
+ ### 🛡️ 质量保障机制 / Quality Assurance Mechanisms
846
+
847
+ #### Testcase Modeler - 6条建模规则 / 6 Modeling Rules
848
+
849
+ | 规则 / Rule | 名称 / Name | 说明 / Description |
850
+ | ------------ | ----------- | ------------------- |
851
+ | 规则 1 | 结构完整性 | 必填字段完整性检查 |
852
+ | 规则 2 | 语义化定位 | 使用人类可读的目标描述,而非CSS/XPath |
853
+ | 规则 3 | 断言注入 | 每个步骤必须配对至少1个断言 |
854
+ | 规则 4 | 深度网络校验 | 关键步骤需验证底层API调用 |
855
+ | 规则 5 | 安全处理 | 敏感信息使用环境变量引用 |
856
+ | 规则 6 | 可读性优先 | YAML结构清晰,注释完整 |
857
+
858
+ #### Testcase Agent - 5条执行铁律 / 5 Execution Iron Laws
859
+
860
+ | 铁律 / Law | 名称 / Name | 强制要求 / Mandatory Requirement |
861
+ | ---------- | ----------- | -------------------------------- |
862
+ | 铁律 1 | **状态感知优先** | 执行前必须检测当前登录状态 |
863
+ | 铁律 2 | **每步留痕** | 每个步骤必须截图记录 |
864
+ | 铁律 3 | **深度网络校验** | 监控并验证关键API调用 |
865
+ | 铁律 4 | **自愈而非放弃** | 元素失效时启动4级降级策略 |
866
+ | 铁律 5 | **报告完整性** | 生成包含截图/时间线/诊断的专业报告 |
867
+
868
+ #### 4级元素定位自愈策略 / 4-Level Element Location Self-Healing
869
+
870
+ ```
871
+ Level 1: UID 缓存查找 (<1ms, 命中率~95% 复用时)
872
+ ↓ 失败
873
+ Level 2: 精确语义匹配 (~50ms, 命中率~80%)
874
+ ↓ 失败
875
+ Level 3: 模糊匹配 (~100ms, 命中率~65%)
876
+ ↓ 失败
877
+ Level 4: AI 辅助 (~500ms-2s, 命中率~55%, 兜底)
878
+
879
+ 整体自愈成功率目标: >65%
880
+ ```
881
+
882
+ ---
883
+
884
+ ### 📖 使用场景与最佳实践 / Use Cases & Best Practices
885
+
886
+ #### 场景 1:实习生快速上手 / Intern Onboarding
887
+
888
+ ```bash
889
+ # 实习生只需用自然语言描述需求
890
+ "我想测试一下登录功能,用户名是admin,密码是123456,
891
+ 登录成功后应该看到首页的欢迎信息"
892
+
893
+ # Modeler 自动生成标准YAML用例
894
+ # Agent 自动执行并生成报告
895
+ # 全程无需编写任何代码!
896
+ ```
897
+
898
+ #### 场景 2:回归测试套件 / Regression Testing Suite
899
+
900
+ ```bash
901
+ # 测试人员批量创建业务流程用例
902
+ 1. "生成资产评估核准申请的完整流程测试用例"
903
+ 2. "生成资产评估核准审批的完整流程测试用例"
904
+ 3. "生成资产处置立项的完整流程测试用例"
905
+
906
+ # 定期批量执行(可集成到CI/CD)
907
+ "批量执行 tests/regression/ 目录下的所有YAML用例"
908
+ ```
909
+
910
+ #### 场景 3:Bug复现与验证 / Bug Reproduction & Verification
911
+
912
+ ```bash
913
+ # 开发人员/QA描述Bug复现步骤
914
+ "按照这个步骤复现Bug:
915
+ 1. 打开核准申请页面
916
+ 2. 筛选状态为'待核准'
917
+ 3. 点击'批量审批'按钮
918
+ 4. 预期:弹出审批对话框
919
+ 5. 实际:按钮无响应"
920
+
921
+ # Agent 执行并记录每一步的截图和网络请求
922
+ # 快速定位问题所在!
923
+ ```
924
+
925
+ #### 最佳实践清单 / Best Practices Checklist
926
+
927
+ - [ ] **始终使用环境变量**存储敏感信息(用户名/密码/token)
928
+ - [ ] **为每个步骤添加断言**,确保可追溯性
929
+ - [ ] **使用语义化的 target 描述**(如"登录按钮"而非"uid=15_4")
930
+ - [ ] **合理设置等待策略**:优先使用 `navigation` 或 `element` 而非固定时间
931
+ - [ ] **利用 uid_cache_key** 优化重复元素的定位性能
932
+ - [ ] **定期更新 test-actions.yaml** 以支持新的业务操作
933
+ - [ ] **查看HTML报告**获取详细的执行诊断信息
934
+
935
+ ---
936
+
937
+ ### 🔧 故障排查 / Troubleshooting
938
+
939
+ | 问题 / Problem | 可能原因 / Possible Cause | 解决方案 / Solution |
940
+ | --------------- | ------------------------ | ------------------ |
941
+ | 环境变量未识别 | 未设置或名称不匹配 | 检查 `$env:TEST_USER` 是否正确设置 |
942
+ | 元素找不到 | 页面未加载完成或选择器变化 | 增加 `wait_after` 时间或启用自愈机制 |
943
+ | 登录失败 | Session过期或验证码拦截 | 检查 `context_check` 配置,考虑设置 `captcha_required: true` |
944
+ | 断言失败 | UI变更或异步加载延迟 | 调整 `confidence` 级别或增加等待时间 |
945
+ | 报告生成失败 | 目录权限不足 | 检查 `test-results/` 目录写入权限 |
946
+ | 网络校验失败 | API端点变更或CORS限制 | 更新 `network_called` 的 `url_pattern` 或暂时降低置信度 |
947
+
948
+ ---
949
+
950
+ ### 📁 项目结构 / Project Structure
951
+
952
+ ```
953
+ pdd-skills-v3/
954
+ ├── config/
955
+ │ ├── test-actions.yaml # ★ 测试动作库(30+内置动作)
956
+ │ └── cdp-test-config.yaml # ★ 全局测试配置
957
+
958
+ ├── skills/expert/
959
+ │ ├── testcase-modeler/ # ★ 测试用例建模师 Skill
960
+ │ │ ├── SKILL.md # 技能定义文件
961
+ │ │ ├── examples/ # 示例用例库
962
+ │ │ │ ├── LOGIN-001-portal-normal.yaml
963
+ │ │ │ ├── asset-eval-apply.yaml
964
+ │ │ │ └── asset-eval-approval-flow.yaml
965
+ │ │ └── evals/ # 评估标准
966
+ │ │
967
+ │ └── testcase-agent/ # ★ 自动化测试执行专家 Skill
968
+ │ ├── SKILL.md # 技能定义文件
969
+ │ ├── references/ # 详细参考文档
970
+ │ │ ├── iron-rules-detail.md
971
+ │ │ ├── self-healing-strategy.md
972
+ │ │ ├── assertion-types.md
973
+ │ │ └── report-template.html
974
+ │ └── templates/ # 报告模板
975
+
976
+ └── test-results/ # ★ 测试输出目录(执行后自动生成)
977
+ └── reports/ # HTML测试报告
978
+ ```
979
+
980
+ ---
981
+
982
+ ### 🎓 学习资源 / Learning Resources
983
+
984
+ | 资源 / Resource | 路径 / Path | 说明 / Description |
985
+ | --------------- | ----------- | ------------------- |
986
+ | **Modeler 完整文档** | `skills/expert/testcase-modeler/SKILL.md` | 6条建模规则 + 触发词 + 示例 |
987
+ | **Agent 完整文档** | `skills/expert/testcase-agent/SKILL.md` | 5条铁律 + 自愈策略 + 执行流程 |
988
+ | **铁律详细实现** | `skills/expert/testcase-agent/references/iron-rules-detail.md` | 每条铁律的实现细节和代码示例 |
989
+ | **自愈策略详解** | `skills/expert/testcase-agent/references/self-healing-strategy.md` | 4级降级的完整算法和案例 |
990
+ | **断言类型参考** | `skills/expert/testcase-agent/references/assertion-types.md` | 所有断言类型的参数和使用场景 |
991
+ | **设计文档** | `docs/superpowers/specs/2026-05-08-pdd-test-skill-design.md` | 完整的系统设计和架构决策 |
992
+ | **开发计划** | `.trae/documents/pdd-test-skill-development-plan.md` | 三阶段实施计划和任务分解 |
993
+
994
+ ---
995
+
996
+ ### 🔄 版本路线图 / Version Roadmap
997
+
998
+ | 版本 / Version | 计划日期 / Planned Date | 主要特性 / Key Features |
999
+ | -------------- | ---------------------- | ----------------------- |
1000
+ | **v3.2.0** (当前) | 2026-05-08 | ✅ testcase-modeler + testcase-agent 基础版 |
1001
+ | **v3.2.1** | 2026-05-15 | 🔄 批量执行 + 并行测试 + CI/CD 集成 |
1002
+ | **v3.3.0** | 2026-06-01 | 📋 数据驱动测试(CSV/Excel参数化) |
1003
+ | **v3.4.0** | 2026-06-15 | 🌐 跨浏览器测试(Firefox/Safari/Edge) |
1004
+ | **v3.5.0** | 2026-07-01 | 🤖 AI辅助用例生成(GPT/Claude集成) |
1005
+ | **v4.0.0** | 2026-08-01 | 🎯 完整测试平台(管理后台 + 历史分析 + 趋势图表) |
1006
+
1007
+ ---
1008
+
1009
+
513
1010
 
514
1011
  ## API 层 / API Layer
515
1012
 
@@ -946,6 +1443,7 @@ CLI 参数 / CLI Args > 环境变量 / Env Vars > .pddrc.local > .pddrc > defaul
946
1443
 
947
1444
  | 版本 / Version | 日期 / Date | 重要变更 / Major Changes |
948
1445
  | ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1446
+ | **v3.2.0** | 2026-05-08 | **★ 测试用例系统发布 / Testcase System Release**: 新增 testcase-modeler(测试用例建模师)和 testcase-agent(自动化测试执行专家)两个核心 Skill,基于 Chrome DevTools MCP 实现零代码 E2E 测试自动化,支持自然语言转 YAML 用例、5条执行铁律、4级自愈策略、深度网络校验、专业 HTML 报告生成,总技能数增至 **43+** |
949
1447
  | **v3.1.2** | 2026-04-10 | **技能生态大扩展 / Skill Ecosystem Expansion**: 新增 7 个专家技能 / 7 new expert skills, 新增 4 个熵减技能 / 4 entropy skills, PR技能扩展至7个 / PR skills expanded to 7, 核心技能增至12个 / Core skills increased to 12, 总计41+技能 / Total 41+ skills |
950
1448
  | **v3.1.1** | 2026-04-08 | **Windows兼容性+项目结构优化 / Windows Compatibility + Structure Optimization**: 添加 Windows 终端兼容支持 / Windows terminal support, 优化项目初始化流程 / Optimize init process |
951
1449
  | **v3.1.0** | 2026-04-05 | **智能能力+生态集成 / Intelligence + Ecosystem**: Bug模式库集中化 / Centralized bug patterns, PRD Linter扩展 / Extended PRD linter, 4级门控引擎 / 4-level gate engine, OpenAPI契约同步 / OpenAPI sync, PRD感知动态模板 / PRD-aware templates, MVP分层交付策略 / MVP delivery, expert-ruoyi+expert-activiti专家技能 / Expert skills |
@@ -971,11 +1469,11 @@ CLI 参数 / CLI Args > 环境变量 / Env Vars > .pddrc.local > .pddrc > defaul
971
1469
  ***
972
1470
 
973
1471
  <p align="center">
974
- <b>PDD-Skills v3.1.2 — 让 AI 成为你的全职结对编程伙伴 🤖</b>
1472
+ <b>PDD-Skills v3.1.5 — 让 AI 成为你的全职结对编程伙伴 🤖</b>
975
1473
  <br>
976
1474
  <b>Let AI be your full-time pair programming partner 🤖</b>
977
1475
  </p>
978
1476
 
979
1477
  <p align="center">
980
- <sub>41+ Skills ✅ · 14 Bug Patterns ✅ · 30 PRD Rules ✅ · 4-Level Gate ✅ · 4 Entropy Skills ✅</sub>
1478
+ <sub>43+ Skills ✅ · 14 Bug Patterns ✅ · 30 PRD Rules ✅ · 4-Level Gate ✅ · 4 Entropy Skills ✅ · ★ Testcase System ✅</sub>
981
1479
  </p>