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))
运行结果:
结果对比:
总结
上面封装的方法基本满足了项目接口测试的要求,当然也会有比较特殊的情况,具体根据实际项目进行添加。如果对自动化测试,测试开发感兴趣的朋友,可以加入测开交流群QQ:696400122。做一个有思想的测农,不念过往,不畏将来!
作者:全栈测试开发日记
出处:https://www.cnblogs.com/liudinglong/
csdn:https://blog.csdn.net/liudinglong1989/
微信公众号:全栈测试开发日记
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。