前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 接口测试之获取接口数据封装

Python 接口测试之获取接口数据封装

作者头像
全栈测试开发日记
发布2023-02-18 12:14:25
1.4K0
发布2023-02-18 12:14:25
举报

  引言

  前面分享了一篇接口关键字封装的文章,内容主要是针对excel中接口测试数据的常量获取方法进行封装,也就是excel第一行字段,称之关键字。既然拿到了接口测试的关键字,那么关键字对应的值怎么获取呢?比如我们之前封装的方法中,可以获取到接口关键字url,但是excel有多条接口数据,每条接口数据对应的url值不一样。我们不可能一行一行的去拿到每条接口数据的url,所以将所有的方法统一封装一个类,要什么关键字的数据,从类中调用方法来获取即可。

  封装实现

  知道要干什么,下面就是实现了,代码如下:

代码语言:javascript
复制
__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))

运行结果:

 结果对比:

  总结

  上面封装的方法基本满足了项目接口测试的要求,当然也会有比较特殊的情况,具体根据实际项目进行添加。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •   引言
  •   封装实现
  •   总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档