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格式:

  • 相关阅读:
    如何使用Remoting实现双工(转自Artech)
    解决自定义代码启动Approver Sharepoint 2010 Workflow,出现Failed on Start
    设计模式学习(目录)
    C#面向对象分析
    使用Sharepoint 2010 Client Object Model 通过SSL验证
    .NET 4.0 Location : 查看传感器状态变化
    OLAP和OLTP的 概念和区别
    组织结构及权限模型设计
    维度关系
    PHP正则替换中文让中文无处可躲
  • 原文地址:https://www.cnblogs.com/heyuling/p/12526406.html
Copyright © 2011-2022 走看看