给大家分享一种webUI自动化框架中用到的读取Excel测试用例的方法
整体思路是这样的:先加载整个Excel的所有sheet页,然后再遍历每个sheet的所有用例信息,以sheet页的名称为键,sheet的所有用例信息为值,整理成一个字典,然后把字典加载到一个测试套件中 然后进行返回 给后面动态生成测试用例使用。
from openpyxl import load_workbook # 去除表格的空值 def file_empty(old_l): new_l =[] for i in old_l: if i: new_l.append(i) return new_l
def read_case(file): wb=load_workbook(file) #加载整个Excel suite_dict = {} #把整个Excel的所有sheet页用例加进此套件,以sheet名称为键 for ws in wb.worksheets: #遍历所有sheet页 case_dict = {} #把sheet页的用例加进此字典里 case_name = "" # 用例名称 for line in ws.iter_rows(values_only=True): #遍历所有sheet页的用例 _id = line[0] # sheet页步骤ID第0个参数 if isinstance(_id,int): #判断步骤ID类型 if _id == -1: #如果ID等于-1 就是测试用例的名称 case_name = line[3] #把-1这一行的第四个参数作为用例名称赋值给case_name case_dict[case_name] = [] #把用例名称作为键 列表作为值 写入到用例字典里 elif _id >0: case_dict[case_name].append(file_empty(line)) #把步骤ID大于0的行的参数添加到 以用例名称为键 的列表里 suite_dict[ws.title] = case_dict #把sheet页的所有用例加进测试套件内 return suite_dict #返回测试套件
Excel大概是长这样的