zoukankan      html  css  js  c++  java
  • 将接口请求响应结果写回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: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格式:

  • 相关阅读:
    cocos2d-x 团队碰面有感
    2014年3月份 月会
    2014年特种兵训练营感想
    web 的简单框架
    【实用小技巧】virtual box 虚拟机复制
    flash的Socket通讯沙箱和安全策略问题
    Codeforces Round #237 (Div. 2)
    类的静态常量数组初始化
    关于自己的成长计划
    Android
  • 原文地址:https://www.cnblogs.com/heyuling/p/12526406.html
Copyright © 2011-2022 走看看