让自己写的脚本辅助测试,不是为了高大上,只是为了提高测试效率和测试质量
背景:
无论数据来源是如何,建议将数据二次转换为Excel表中
如果用对比工具的话,只能做个别少量数据,比如50个数据左右,因为当数据较大时,相对不一致的情况也就越多,不适合用手动的方式
例表1
ID | 姓名 | 支付金额 | 日期 | 支付方式 |
---|---|---|---|---|
01 | 张三 | 10 | 22-2-2 | 现金 |
02 | 张无忌 | 12.9 | 22-2-2 | |
03 | 乙 | 150.0 | 22-2-2 | pos |
例表2 | ||||
ID | 姓名 | 支付金额 | 日期 | 支付方式 |
– | – | – | – | – |
01 | 翠花 | 33.0 | 22-2-2 | |
02 | 张无忌 | 0.0 | 22-2-2 | |
03 | 张无忌 | 12.9 | 22-2-2 |
来补一下我不成熟的代码,如果有更优秀的比对代码,欢迎交流
# 定义一个获取excel文件的函数/方法,传入【文件名称】和【excel中的表名】
def getexceldata_cuihuan(filename,sheetname):
exceldir = f'{"../excel文件路径/"}{filename}'
excelbook = xlrd.open_workbook(exceldir,formatting_info=True)
# 获取单元表
worksheet = excelbook.sheet_by_name(sheetname)
sheetrownum = worksheet.nrows
execldatalsit =[]
# 获取总行数
#获取行数据
for i in range(1, sheetrownum): # 遍历行数为i
# 获取列。这里自己定义需要获取的列名。这个列一般都是需要进行比对的列
str1 = worksheet.cell(i, 0).value
str2 = worksheet.cell(i, 1).value
str3 = worksheet.cell(i, 2).value
# 将金额转为float(如果比对的内容涉及金额,需要将金额转为浮点数,否则可能会导致比对失败)
# str3 = float(worksheet.cell(i, 2).value)
execldatalsit.append((str1, str2, str3)) # 以列表的形式存储列数据
return execldatalsit
if __name__ == '__main__':
t = getexceldata_cuihuan('excel文件.xls', '导出表')
for one in t:
print(one)
`