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. 保持格式:输出文件完全保留原文件的格式、布局、样式和列宽
使用方法
基本用法
用户只需描述需求,例如:
技术实现
本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)
└─ 保持格式和布局
↓
保存输出文件
↓
生成处理报告
处理示例
输入
输出
处理统计
| 指标 | 数值 | |------|------| | 处理的sheet数 | 51 | | 跳过的sheet数 | 18 | | 合并单元格拆分 | 2000+ | | 用例重新编号 | 2000+ |
支持的文件格式
优先级列识别
自动识别以下列名:编号列识别
自动识别以下列名:Sheet处理规则
技术细节
单元格样式复制
完整复制以下样式属性:合并单元格处理
# 拆分前:
| 合并单元格内容 |
| |
| |
拆分后:
| 合并单元格内容 |
| 合并单元格内容 |
| 合并单元格内容 |
重新编号格式
TC{number:03d}使用场景
1. 版本发布前测试用例筛选
场景:需要执行高优先级用例
输入:完整测试用例集
输出:P0/P1用例集
2. 回归测试用例准备
场景:准备回归测试用例集
输入:所有测试用例
输出:核心功能用例(P0/P1)
3. 测试用例质量分析
场景:分析测试用例优先级分布
输入:原始用例文件
输出:
- 按优先级筛选的用例集
- 处理统计报告
注意事项
1. 文件格式:仅支持.xlsx格式(Excel 2007+) 2. 文件大小:支持大文件处理(测试过10MB+文件) 3. 编码格式:支持中文、英文、特殊字符 4. 性能优化:大文件处理时建议关闭屏幕更新 5. 备份建议:处理前建议备份原文件
安装依赖
pip install openpyxl
示例代码调用
# 直接调用处理函数
from testcase_filter import process_excelinput_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)
反馈与支持
如有问题或建议,请通过以下方式联系:
Powered by Claude Code & Python