Python 接口测试之获取接口数据封装
2023-03-07 09:46:56 时间
引言
前面分享了一篇接口关键字封装的文章,内容主要是针对excel中接口测试数据的常量获取方法进行封装,也就是excel第一行字段,称之关键字。既然拿到了接口测试的关键字,那么关键字对应的值怎么获取呢?比如我们之前封装的方法中,可以获取到接口关键字url,但是excel有多条接口数据,每条接口数据对应的url值不一样。我们不可能一行一行的去拿到每条接口数据的url,所以将所有的方法统一封装一个类,要什么关键字的数据,从类中调用方法来获取即可。
封装实现
知道要干什么,下面就是实现了,代码如下:
__author__ = 'Leo'
from public.operate_excel import Operate_Excel
from basic_method import testcases_keyword
class getData(object):
def __init__(self):
self.op_excel = Operate_Excel()
def get_case_nums(self):
"""获取测试用例条数"""
return self.op_excel.get_sheet_nrows()
def get_is_header(self,row):
"""是否携带请求头"""
col = int(testcases_keyword.get_case_header())
header = self.op_excel.get_sheet_cell(row,col)
if header is not None:
return header
else:
print("没有header!")
return None
def get_is_run(self,row):
"""是否运行"""
col = int(testcases_keyword.get_case_is_execute())
is_run = self.op_excel.get_sheet_cell(row,col)
if is_run == 'yes':
flag = True
else:
flag = False
return flag
def get_url(self,row):
"""获取url"""
col = int(testcases_keyword.get_case_interface_url())
url = self.op_excel.get_sheet_cell(row,col)
return url
def get_method(self,row):
"""获取请求方法"""
col = int(testcases_keyword.get_case_method())
method = self.op_excel.get_sheet_cell(row,col)
return method
def get_data(self,row):
"""获取请求数据"""
col = int(testcases_keyword.get_case_payload())
data = self.op_excel.get_sheet_cell(row,col)
return data
def get_excepted_result(self,row):
"""获取预期结果"""
col = int(testcases_keyword.get_case_expected_result())
excepted_result = self.op_excel.get_sheet_cell(row,col)
if excepted_result == '':
return None
else:
return excepted_result
def get_actual_result(self,row,value):
"""获取实际结果"""
col = int(testcases_keyword.get_case_actual_result())
actual_result = self.op_excel.get_sheet_cell(row,col)
self.op_excel.write_to_excel(row,col,value)
if __name__ == '__main__':
get_data = getData()
print(get_data.get_is_run(1))
print(get_data.get_url(1))
运行结果:
结果对比:
总结
上面封装的方法基本满足了项目接口测试的要求,当然也会有比较特殊的情况,具体根据实际项目进行添加。
相关文章
- 用Python操作MySQL存储,这些你都会了吗?
- 单元测试|unittest生成测试报告
- 从0到1实现神经网络(Python)
- 时隔七年的填坑之作:《机器学习数学》书稿PDF免费下载了
- 煤矿AI智能视频分析识别系统
- python--拷贝
- 简易的随机图片API
- 新手学Python可行吗?需要什么基础?(新手学python可行吗?需要什么基础)
- 什么是防抖和节流?有什么区别?如何实现?
- PyTorch中学习率调度器可视化介绍
- 使用PyTorch进行知识蒸馏的代码示例
- Python中的魔法方法
- Python中的时间序列数据操作总结
- 使用Flask快速部署PyTorch模型
- ROS2机器人编程简述humble-第二章-Controlling the Iterative Execution .3.1
- 画【Python折线图】的一百个学习报告(三、自动生成单一数据折线图)
- 使用Python为二年级的学生批量生成数学题
- Python算法:三种高级排序的方法
- CompletableFuture实现异步编排
- 从基础掌握Python的列表和元组