將接口請求響應結果寫回excel的2種方式


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:\Users\USER\PycharmProjects\lc_api_auto\testdata\testdata.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:\Users\USER\PycharmProjects\lc_api_auto\testdata\testdata.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:\Users\USER\PycharmProjects\lc_api_auto\testdata\testdata.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:\Users\USER\PycharmProjects\lc_api_auto\testdata\testdata.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:\Users\USER\PycharmProjects\lc_api_auto\testdata\testdata.xlsx","login",i+2,res.text)
14 
15 
16 run(test_data)

附excel格式:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM