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

v1.0.0

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

0· 110·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yontlly/testcase-filter.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "'提取高优先级测试用例'" (yontlly/testcase-filter) from ClawHub.
Skill page: https://clawhub.ai/yontlly/testcase-filter
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install testcase-filter

ClawHub CLI

Package manager switcher

npx clawhub@latest install testcase-filter
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Skill 名称、描述、SKILL.md 与主模块 testcase_filter.py 的实现相符:查找优先级/编号列、拆分合并单元格、删除项目/产品列、筛选 P0/P1、重新编号并复制样式。setup.py 列出的依赖(openpyxl)与实现一致。
Instruction Scope
SKILL.md 的运行说明本身只建议调用 process_excel(input_file, output_file) 并不会要求访问网络或任意系统区域。但仓库中存在若干辅助脚本(batch_process.py、check_headers.py、verify_output.py)包含硬编码的绝对 Windows 路径(例如 C:\Users\yanghua1\...)和对特定本地文件的直接读取,这些文件若被直接运行会访问本地文件系统。该行为可以是开发遗留问题而非恶意,但它增加了误执行本地文件的风险,应在运行前审查或移除这些脚本。
Install Mechanism
无安装规范(instruction-only 风格),仅在源码中通过 setup.py 提供可选安装项,依赖仅为 openpyxl(在 SKILL.md 与 setup.py 中一致)。没有从不可信 URL 下载或执行远程代码的安装指令。
Credentials
不要求环境变量、凭据或配置路径;所需权限仅限于读取/写入用户指定的 Excel 文件,与技能目的相符。
Persistence & Privilege
flags 显示 always:false、user-invocable:true,技能不会强制常驻或修改其他技能/全局配置。代码也不尝试持久化凭据或改变平台级设置。
Assessment
总体上这是一个功能与描述一致的 Excel 处理工具,但在安装或运行前请注意: - 不要直接运行仓库中的 batch_process.py、check_headers.py 或 verify_output.py,除非你已检查并修改其中的硬编码路径,否则它们会尝试访问开发者机器上的特定路径。\n- 在受控环境(例如虚拟环境或隔离的测试机器)中先运行并用备份的 Excel 文件验证输出。\n- 如果只需主功能,调用 testcase_filter.process_excel(...) 或运行通过 setup.py 安装后的控制台脚本(并在命令行中显式指定输入/输出路径)。\n- 若在企业环境中使用,审查代码以确认没有额外日志/上报逻辑后再部署;可在本地替换或删除带绝对路径的示例脚本以消除误操作风险。

Like a lobster shell, security has layers — review code before you run it.

latestvk97cf1k6gce9hzngf1t9m8fcqx856xc8
110downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

测试用例筛选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

Comments

Loading comments...