1.添加case_id标识
1 from openpyxl import load_workbook 2 3 4 class Do_Excel: 5 def get_data(self,file_name,sheet_name): 6 ''' 7 读取excel中的测试数据 8 :param file_name: 测试数据所在地址 9 :param sheet_name: sheet名 10 :return:测试数据 11 ''' 12 wb=load_workbook(file_name) 13 sheet=wb[sheet_name] 14 test_data=[] 15 sheet.max_row 16 for i in range(2,sheet.max_row+1): 17 row_data = {} 18 row_data["case_id"] = sheet.cell(i, 1).value 19 row_data["title"]=sheet.cell(i, 2).value 20 row_data["url"] = sheet.cell(i, 3).value 21 row_data["method"] = sheet.cell(i, 4).value 22 row_data["data"] = sheet.cell(i, 5).value 23 row_data["header"] = sheet.cell(i, 6).value 24 test_data.append(row_data) 25 return test_data 26 27 def write_back(self,file_name,sheet_name,i,value): 28 29 wb = load_workbook(file_name) 30 sheet = wb[sheet_name] 31 sheet.cell(i,7).value=value 32 wb.save(file_name) 33 34 35 if __name__ == "__main__": 36 print(Do_Excel().get_data(r"C:UsersUSERPycharmProjectslc_api_auto estdata estdata.xlsx","login"))
1 from utils.http_request import HttpRequest 2 from utils.do_excel import Do_Excel 3 4 5 test_data=Do_Excel().get_data(r"C:UsersUSERPycharmProjectslc_api_auto estdata estdata.xlsx","login") 6 7 8 def run(data): 9 for item in data: 10 print("正在测试的用例是:{0}".format(item["title"])) 11 res=HttpRequest().http_request(item["url"],eval(item["data"]),item["method"],eval(item["header"])) 12 print("请求的结果是:{0}".format(res.text)) 13 Do_Excel().write_back(r"C:UsersUSERPycharmProjectslc_api_auto estdata estdata.xlsx","login",item["case_id"]+1,res.text) 14 15 16 run(test_data)
2.嵌套
1 from utils.http_request import HttpRequest 2 from utils.do_excel import Do_Excel 3 4 5 test_data=Do_Excel().get_data(r"C:UsersUSERPycharmProjectslc_api_auto estdata estdata.xlsx","login") 6 7 8 def run(data): 9 for i in range(len(test_data)):#0,1 10 print("正在测试的用例是:{0}".format(test_data[i]["title"])) 11 res=HttpRequest().http_request(test_data[i]["url"],eval(test_data[i]["data"]),test_data[i]["method"],eval(test_data[i]["header"])) 12 print("请求的结果是:{0}".format(res.text)) 13 Do_Excel().write_back(r"C:UsersUSERPycharmProjectslc_api_auto estdata estdata.xlsx","login",i+2,res.text) 14 15 16 run(test_data)
附excel格式: