用于创建和管理软件回归测试用例表的Excel文件,确保格式一致性和规范化的测试用例文档。
表头(14列):
列字段名列宽A序号13.0B用例ID37.125C所属模块17.125D用例标题75.375E优先级12.125F前置条件95.625G测试步骤50.625H预期结果60.75I实际结果68.375J状态11.5K缺陷ID13.0L测试者13.0M执行日期15.625N备注13.0
格式: 项目名_模块_序号
示例: TPClawHub_Login_001
python
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
wb = Workbook()
sheet = wb.active
sheet.title = "测试用例表"
headers = ['序号', '用例ID', '所属模块', '用例标题', '优先级', '前置条件',
'测试步骤', '预期结果', '实际结果', '状态', '缺陷ID', '测试者', '执行日期', '备注']
for col, header in enumerate(headers, 1):
cell = sheet.cell(row=1, column=col, value=header)
cell.font = Font(bold=True, size=11)
cell.fill = PatternFill(start_color='FFFFFF00', end_color='FFFFFF00', fill_type='solid')
cell.alignment = Alignment(horizontal='center', vertical='center')
column_widths = {'A':13, 'B':37, 'C':17, 'D':75, 'E':12, 'F':95, 'G':50, 'H':60, 'I':68, 'J':11, 'K':13, 'L':13, 'M':15, 'N':13}
for col, width in column_widths.items():
sheet.column_dimensions[col].width = width
wb.save('测试用例表.xlsx')
python
from openpyxl import load_workbook
from openpyxl.styles import Alignment, Border, Side
wb = load_workbook('测试用例表.xlsx')
sheet = wb.active
# 找到最后一行
last_row = 2
for row in range(2, sheet.max_row + 1):
if sheet.cell(row=row, column=2).value:
last_row = row
new_case = ['序号', '用例ID', '所属模块', '用例标题', '优先级',
'前置条件', '测试步骤', '预期结果', '', '', '', '', '', '备注']
thin_border = Border(left=Side(style='thin'), right=Side(style='thin'),
top=Side(style='thin'), bottom=Side(style='thin'))
data_alignment = Alignment(wrap_text=True, vertical='top')
for col_idx, val in enumerate(new_case, 1):
cell = sheet.cell(row=last_row + 1, column=col_idx)
cell.value = val
cell.alignment = data_alignment
cell.border = thin_border
sheet.row_dimensions[last_row + 1].height = 105
wb.save('测试用例表.xlsx')
问题解决方案格式丢失使用完整样式对象重新应用格式文件占用提示用户关闭Excel后再操作重复数据遍历用例ID去重后重写列宽不匹配按标准列宽表重新设置
dot
digraph testcase_workflow {
"用户请求" [shape=box];
"检查文件是否存在" [shape=diamond];
"读取模版格式" [shape=box];
"创建新表" [shape=box];
"添加用例" [shape=box];
"应用格式" [shape=box];
"保存文件" [shape=box];
"验证结果" [shape=box];
"用户请求" -> "检查文件是否存在";
"检查文件是否存在" -> "读取模版格式" [label="存在"];
"检查文件是否存在" -> "创建新表" [label="不存在"];
"读取模版格式" -> "添加用例";
"创建新表" -> "添加用例";
"添加用例" -> "应用格式";
"应用格式" -> "保存文件";
"保存文件" -> "验证结果";
}