MOOC- case依赖读取json配置文件进行多个接口请求-openpyxl读取excel(14)
Posted come202011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MOOC- case依赖读取json配置文件进行多个接口请求-openpyxl读取excel(14)相关的知识,希望对你有一定的参考价值。
从excel中读取数据
# -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @Author: Hero Liu from openpyxl import load_workbook from day_20200208_mooc.tools.do_json_13 import DoJson import json class DoExcel: def get_data(self, file, sheet): wb = load_workbook(file) sheet = wb[sheet] test_data = [] for i in range(2, sheet.max_row+1): row_data = {} # 获取第i行第一列、第2列、第3列...的数据,即是获取第i行数据,并存到字典中 row_data["case_id"] = sheet.cell(i, 1).value row_data["module_title"] = sheet.cell(i, 2).value row_data["url"] = sheet.cell(i, 3).value row_data["method"] = sheet.cell(i, 5).value row_data["header"] = sheet.cell(i, 6).value if row_data["header"] == "no": row_data["header"] = None row_data["case_depend"] = sheet.cell(i, 7).value row_data["case_depend_data"] = sheet.cell(i, 8).value row_data["depend_data_belong_new_key"] = sheet.cell(i, 9).value # 把关键字传入DoJson,拿到真正的请求数据 row_data["data"] = DoJson("../config/user.json").get_data(sheet.cell(i, 10).value) row_data["expected"] = sheet.cell(i, 11).value # 把每一行的数据加到整个测试数据的列表中去 test_data.append(row_data) return test_data def case_data(self, file, sheet): # 选择性地获取测试用例 case_data = [] for row_data in self.get_data(file, sheet): case_row = {} case_row["case_id"] = row_data["case_id"] case_row["module_title"] = row_data["module_title"] case_row["url"] = row_data["url"] case_row["method"] = row_data["method"] # if row_data["header"]: # case_row["header"] = row_data["header"] # else: # row_data["header"] = None case_row["data"] = row_data["data"] case_row["expected"] = row_data["expected"] case_data.append(case_row) return case_data def write_back(self, file, sheet, i, j, value): # i代表行,j代表列 # 每执行一个用例,都要写回一个结果,所以i代替用例的行数 # 结果要写回到哪一列自己是清楚的,所以j可以传入固定值 wb = load_workbook(file) sheet = wb[sheet] sheet.cell(i, j).value = value # 保存工作簿 wb.save(file) if __name__ == "__main__": # test_data = DoExcel().get_data("../data/test_data.xlsx", "case") # print(test_data) case_data = DoExcel().get_data("../data/test_data.xlsx", "case") print(json.dumps(case_data, indent=2, sort_keys=False, ensure_ascii=False)) # print(type(case_data)) # case1 = case_data[0] # case1 = eval(case_data) # print(case1)
测试数据如图:
以上是关于MOOC- case依赖读取json配置文件进行多个接口请求-openpyxl读取excel(14)的主要内容,如果未能解决你的问题,请参考以下文章
MOOC- case依赖读取json配置文件进行多个接口请求-执行测试用例(16)
MOOC- case依赖读取json配置文件进行多个接口请求-发送测试报告邮件(19)
MOOC- case依赖读取json配置文件进行多个接口请求-模拟接口响应数据(18)