🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

'提取高优先级测试用例'

by @yontlly

筛选测试用例Excel文件,提取P0/P1优先级用例,删除项目/产品列,重新编号并保持原格式

Versionv1.0.0
Downloads422
TERMINAL
clawhub install testcase-filter

📖 About This Skill


name: testcase-filter description: 筛选测试用例Excel文件,提取P0/P1优先级用例,删除项目/产品列,重新编号并保持原格式 version: "1.1" author: custom license: MIT

category: testing tags: - excel - testcases - filter - automation

models: recommended: - claude-sonnet-4 - claude-opus-4 compatible: - claude-3-5-sonnet - gpt-4 - gpt-4o

capabilities: - data_processing - file_manipulation - testing

languages: - en - zh


测试用例筛选Skill

功能概述

本skill专门用于处理测试用例Excel文件,实现以下功能:

1. 删除项目/产品列:自动识别并删除"项目/产品"、"产品/项目"、"产品"、"项目"等列 2. 筛选P0/P1用例:提取每个sheet中"优先级"为"P0"或"P1"的测试用例行 3. 跳过空优先级sheet:如果某个sheet中的"优先级"列数据均为空,则跳过此sheet 4. 拆分合并单元格:将所有合并单元格拆分,并将内容自动填充到拆分的单元格中 5. 重新编号:将筛选后的用例"编号"列重新从"TC001"开始编号 6. 保持格式:输出文件完全保留原文件的格式、布局、样式和列宽

使用方法

基本用法

用户只需描述需求,例如:

  • "帮我筛选这个测试用例文件,只保留P0和P1的用例"
  • "处理PC功能点用例.xlsx,提取高优先级用例并重新编号"
  • "筛选测试用例,优先级为P0或P1,编号从TC001开始"
  • 技术实现

    本skill使用Python + openpyxl实现,无需安装Excel,支持批量处理。

    #### 核心功能模块

    # 1. 查找优先级列
    def find_priority_column(sheet):
        """自动识别优先级列(支持中文"优先级"或英文"Priority")"""

    2. 查找编号列

    def find_number_column(sheet): """自动识别编号列(支持"编号"、"ID"、"No"、"序号")"""

    3. 拆分合并单元格

    def unmerge_and_fill_cells(sheet): """拆分合并单元格并填充内容到所有拆分后的单元格"""

    4. 复制样式

    def copy_cell_style(source_cell, target_cell): """完整复制单元格样式(字体、边框、填充、对齐等)"""

    5. 处理Excel

    def process_excel(input_file, output_file): """主处理函数:筛选、重新编号、保持格式"""

    处理流程

    输入文件
      ↓
    分析文件结构
      ├─ 识别所有sheet
      ├─ 查找优先级列
      └─ 统计P0/P1用例数量
      ↓
    逐个sheet处理
      ├─ 拆分合并单元格
      ├─ 筛选P0/P1用例
      ├─ 复制表头和样式
      ├─ 重新编号(TC001-TCxxx)
      └─ 保持格式和布局
      ↓
    保存输出文件
      ↓
    生成处理报告
    

    处理示例

    输入

  • 文件名:PC功能点用例.xlsx
  • Sheet数量:69个
  • 总用例数:约10,000条
  • 输出

  • 文件名:PC功能点用例_筛选后.xlsx
  • Sheet数量:51个(含P0/P1用例)
  • 跳过:18个(无P0/P1用例)
  • 编号:每个sheet从TC001开始连续编号
  • 格式:完全保留原文件格式
  • 处理统计

    | 指标 | 数值 | |------|------| | 处理的sheet数 | 51 | | 跳过的sheet数 | 18 | | 合并单元格拆分 | 2000+ | | 用例重新编号 | 2000+ |

    支持的文件格式

    优先级列识别

    自动识别以下列名:
  • 优先级
  • Priority
  • 优先级等级
  • 编号列识别

    自动识别以下列名:
  • 编号
  • ID
  • No
  • 序号
  • 用例编号
  • Sheet处理规则

  • ✅ 有优先级列且有P0/P1用例:处理并保留
  • ⏭️ 有优先级列但无P0/P1用例:跳过
  • ⏭️ 无优先级列:跳过
  • 技术细节

    单元格样式复制

    完整复制以下样式属性:
  • 字体(字体、大小、颜色、粗体、斜体)
  • 边框(样式、颜色)
  • 填充(背景色、图案)
  • 对齐方式(水平、垂直)
  • 数字格式
  • 保护
  • 合并单元格处理

    # 拆分前:
    

    | 合并单元格内容 |

    | |

    | |

    拆分后:

    | 合并单元格内容 |

    | 合并单元格内容 |

    | 合并单元格内容 |

    重新编号格式

  • 格式:TC{number:03d}
  • 示例:TC001, TC002, TC003, ..., TC999
  • 每个sheet独立编号
  • 使用场景

    1. 版本发布前测试用例筛选

    场景:需要执行高优先级用例
    输入:完整测试用例集
    输出:P0/P1用例集
    

    2. 回归测试用例准备

    场景:准备回归测试用例集
    输入:所有测试用例
    输出:核心功能用例(P0/P1)
    

    3. 测试用例质量分析

    场景:分析测试用例优先级分布
    输入:原始用例文件
    输出:
      - 按优先级筛选的用例集
      - 处理统计报告
    

    注意事项

    1. 文件格式:仅支持.xlsx格式(Excel 2007+) 2. 文件大小:支持大文件处理(测试过10MB+文件) 3. 编码格式:支持中文、英文、特殊字符 4. 性能优化:大文件处理时建议关闭屏幕更新 5. 备份建议:处理前建议备份原文件

    安装依赖

    pip install openpyxl
    

    示例代码调用

    # 直接调用处理函数
    from testcase_filter import process_excel

    input_file = "测试用例.xlsx" output_file = "测试用例_筛选后.xlsx"

    process_excel(input_file, output_file)

    常见问题

    Q1: 为什么某些sheet被跳过了?

    A: 可能原因: - 该sheet没有"优先级"列 - 该sheet的优先级列全为空 - 该sheet没有P0或P1用例

    Q2: 编号会重复吗?

    A: 不会。每个sheet独立编号,从TC001开始。

    Q3: 合并单元格会影响数据吗?

    A: 不会。合并单元格拆分后,内容会填充到所有拆分的单元格中,确保数据完整性。

    Q4: 输出文件格式会改变吗?

    A: 不会。脚本完整复制所有样式、格式、列宽、行高,保持原文件外观一致。

    更新日志

    v1.0 (2026-04-15)

  • ✅ 初始版本发布
  • ✅ 支持P0/P1用例筛选
  • ✅ 支持合并单元格拆分
  • ✅ 支持自动重新编号
  • ✅ 支持格式完全保留
  • 反馈与支持

    如有问题或建议,请通过以下方式联系:

  • 提交Issue
  • 发送邮件至支持团队

  • Powered by Claude Code & Python

    📋 Tips & Best Practices

    Q1: 为什么某些sheet被跳过了?

    A: 可能原因: - 该sheet没有"优先级"列 - 该sheet的优先级列全为空 - 该sheet没有P0或P1用例

    Q2: 编号会重复吗?

    A: 不会。每个sheet独立编号,从TC001开始。

    Q3: 合并单元格会影响数据吗?

    A: 不会。合并单元格拆分后,内容会填充到所有拆分的单元格中,确保数据完整性。

    Q4: 输出文件格式会改变吗?

    A: 不会。脚本完整复制所有样式、格式、列宽、行高,保持原文件外观一致。