当前位置: 首页 > news >正文

从接口自动化测试框架设计到开发(三)主流程封装、返回数据写入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 resprint(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
#把返回结果写入exceldef 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 resself.data.write_result(i,res)#写入数据print(i)print(res)else:print('失败')

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

运行结果:

 excel结果:

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

高薪必备!18K接口自动化测试框架落地全流程|零基础到实战通关

http://www.dtcms.com/a/339100.html

相关文章:

  • 【iOS】内存管理
  • 如何在 Ubuntu Linux 上安装 RPM 软件包
  • 在 Windows 上使用 Kind 创建本地 Kubernetes 集群并集成Traefik 进行负载均衡
  • 2025年8月16日(星期六):雨骑古莲村游记
  • [优选算法专题二——找到字符串中所有字母异位词]
  • 网络间的通用语言TCP/IP-网络中的通用规则4
  • Java网络编程:TCP与UDP通信实现及网络编程基础
  • C语言—指针(针对小白版)
  • 算法学习day19----博弈论模型--取石子游戏(Python)
  • 懒加载机制实现子模块按需动态导入
  • 全平台轻量浏览器推荐|支持Win/macOS/Linux,极速加载+隐私保护+扩展插件,告别广告与数据追踪!
  • RT-Thread Nano移植到STM32心得(基于GCC、HAL库)
  • Mac下载AOSP源代码
  • UE小:交叉编译linux的坑
  • 【集合框架HashSet底层原理】
  • IDEA:设置彩色输出
  • DataAnalytics之Tool:Metabase的简介、安装和使用方法、案例应用之详细攻略
  • 项目一系列-第5章 前后端快速开发
  • 虚拟环境安装了fastapi但是使用时报错:ModuleNotFoundError: No module named ‘fastapi‘
  • C++利用CerateProcess创建WPF进程并通过命名管道通讯
  • Scikit-learn通关秘籍:从鸢尾花分类到房价预测
  • 项目部署与持续集成
  • Android RxJava数据库操作:响应式改造实践
  • AUTOSAR进阶图解==>AUTOSAR_SWS_FunctionInhibitionManager
  • Spring Ai Chat Memory
  • Python 与 VS Code 结合操作指南
  • 【Vue开发】在Vite+Vue3项目中实现离线Iconify图标方案
  • 【什么是非晶合金?非晶电机有什么优点?】
  • Redis面试题及详细答案100道(71-85) --- 综合篇
  • Vim笔记:缩进