新建Excel文档data.xlsx存储测试用例
例:
id | title | method | url | data | except_data |
1 | 登录失败 | post | 接口url地址 | { 'username':'admin', | {"response":"账号或密码不正确"} |
解析Excel文档提取用例,用ddt实现数据驱动进行接口自动化测试
以下代码实现Excel内容提取:
from openpyxl import load_workbook
class HandleExcel:
def __init__(self,file_name):
self.excel = load_workbook(filename=file_name)
self.sheet_names = self.excel.sheetnames # 获取所有的sheet名
def get_excel_data(self):
for sheet_name in self.sheet_names: # 循环获取每个sheet里面的数据
sheet_data = self.excel[sheet_name]
data_list = []
datas = list(sheet_data.iter_rows(values_only=True)) # 按行读取数据
case_title = datas[0] # 获取字段名
case_datas = datas[1:] # 获取用例数据
for case in case_datas: # 将元素依次打包成元组并转化成字典
result = dict(zip(case_title,case))
data_list.append(result)
self.close_file()
return data_list
def close_file(self):
self.excel.close()
if __name__ == '__main__':
he = HandleExcel(file_name=r'F:\data.xlsx')
print(he.get_excel_data())
最终以字典形式将用例数据进行呈现
总结:
1、openpyxl包的使用
2、循环获取sheet并获取excel数据
3、将用例标题和数据转化成字典