• 从接口自动化测试框架设计到开发(三)主流程封装、返回数据写入excel


    主流程封装

    #Run_Test.py
    #
    -*- coding: utf-8 -*- # @Author: jiujiu # @Date: 2020-03-04 16:30:31 # @Last Modified time: 2020-03-05 15:00:46 import sys sys.path.append("G:/uni_test") #添加当前过程的目录 import json from base.run_method import RunMethod from data.get_data import GetData class RunTest: def __init__(self): self.runmethod = RunMethod() self.data = GetData() #程序执行 def go_on_run(self): res = None #如果有10行,循环遍历每一行,从0行开始 rows_count = self.data.get_case_lines() #排除0行,从第1行开始 for i in range(1,rows_count): is_run = self.data.get_is_run(i) if is_run: url = self.data.get_request_url(i) method = self.data.get_request_method(i) data = self.data.get_data_for_json(i)#传入行数 # request_data = self.data.get_data(i) header = self.data.is_header(i) # print(i) res = self.runmethod.run_main(method,url,data,header) # return res print(i) print(res) else: print('失败') # if is_run : # res = self.runmethod.run_main(method,url,data,header) # return res # else: # return None if __name__ == '__main__': run = RunTest() print(run.go_on_run())

    返回结果:

     如果想确定接口有没有挂掉,运行是否正常可以加上

    return res.status_code

    如果返回200,说明运行正常,可以和预期结果在一起比对,就能实现上线以后查看接口运行情况的测试。

    如果要处理返回数据,使用

    json.dumps(res,ensure_ascii=False,sort_keys=True,indent=2)

    将返回的数据写入excel中

    首先安装包

    pip install xlutils
    #operation_excel.py        
    #写入数据
        def write_value(self,row,col,value):
            read_data = xlrd.open_workbook(self.file_name)#打开文件
            write_data = copy(read_data)#复制文件
            sheet_data = write_data.get_sheet(0)#获取第一个表
            sheet_data.write(row,col,value)#写入数据
            write_data.save(self.file_name)
    #get.data.py
    #把返回结果写入excel
        def write_result(self,row,value):
            col = int(self.dataconfig.get_result())
            result = self.opera_excel.write_value(row,col,value)
    #Run.Test.py    
    #程序执行
        def go_on_run(self):
            res = None
            #如果有10行,循环遍历每一行,从0行开始
            rows_count = self.data.get_case_lines()
            #排除0行,从第1行开始
            for i in range(1,rows_count):
                is_run = self.data.get_is_run(i)
                if is_run:
                    url = self.data.get_request_url(i)
                    method = self.data.get_request_method(i)
                    data = self.data.get_data_for_json(i)#传入行数
                    # request_data = self.data.get_data_for_json(i)
                    header = self.data.is_header(i)
                    # print(i)
                    res = self.runmethod.run_main(method,url,data,header)
                    # return res
                    self.data.write_result(i,res)#写入数据
                    print(i)
                    print(res)
                else:
                    print('失败')

    我把post和get方法里面返回的res改成了res.url,即返回请求的url

    运行结果:

     excel结果:

     预期结果这一列已写入了返回的数据

  • 相关阅读:
    3.1 history跳转页面产生跨域问题
    2021年6月7日 团队冲刺第二阶段04
    2021年6月6日 团队冲刺第二阶段03
    2021年6月5日 团队冲刺第二阶段02
    2021年6月4日 团队冲刺第二阶段01
    2021年6月3日
    2021年6月2日
    2021年6月1日
    2021年5月31日
    2021年5月30日
  • 原文地址:https://www.cnblogs.com/dydxw/p/12410525.html
Copyright © 2020-2023  润新知