python数据接口获取数据_Python 接口测试之获取接口数据封装

引言

前面分享了一篇接口关键字封装的文章,内容主要是针对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))

运行结果:

782587-20200422005319691-1230541509.png

结果对比:

782587-20200422005309848-778499493.png

总结

上面封装的方法基本满足了项目接口测试的要求,当然也会有比较特殊的情况,具体根据实际项目进行添加。如果对自动化测试,测试开发感兴趣的朋友,可以加入测开交流群QQ:696400122。做一个有思想的测农,不念过往,不畏将来!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值