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

Python 接口测试之结果集比较封装

作者头像
全栈测试开发日记
发布2023-02-18 12:11:05
8470
发布2023-02-18 12:11:05
举报

  引言

  接口测试执行完后,我们需要进行断言,断言的主要目的是用代码来判断实际结果和预期结果是否一致,这跟手工测试中用肉眼去判断是一样的思路。既然这样,我们可以将已知的预期结果和未知的实际结果简单的封装成一个类,然后写一个比较的函数来判断,最后得到结果。

  知识点预热

  在讲代码之前,先了解一下python的运算符is和==。可能有些人经常用,但是却不知道是什么意思,知其然而不知其所以然。

python对象包括三个基本要素:id(身份标识)、type(数据类型)和value(值)。

1、"is" 是身份运算符,判断两个对象是否相同,是判断id是否相同,也就是内存地址是否相同。

2、"=="是比较运算符,判断两个对象的值是否相同,也就是value。

示例:

# 数值型

 # 字符串

 # 元组

# 列表

 # 字典

# 集合

结论:通过上面几个例子可以看出,两个对象只有int和str的时候,a is b才为True。而当a和b是tuple,list,dict或set型时,a is b为False。

  封装

  上面已经介绍了如何比较两个对象是否相同,那么我们在比较两个结果,实际结果和预期结果是否相同也可以用这种方法,但是一定要记住是比较value还是内存地址。现在我简单对判断测试结果进行封装,不过这里我用的是包含,当然你可以用"=="。

具体代码:

代码语言:javascript
复制
__author__ = 'Leo'


class CompareStr(object):
    def is_contains(self,str1,str2):
        """
        判断预期结果与实际结果是否相同
        :param str1: 预期结果
        :param str2: 实际结果
        :return flag: 标记
        """
        self.flag = None
        if str1 in str2:
            self.flag = True
        else:
            flag = False
        return self.flag

if __name__ == '__main__':
    cs = CompareStr()
    print(cs.is_contains('123','123456'))

运行结果:

  总结

  以上内容是一个简单的知识点,简单进行封装。小知识点容易被忽略,记一记总是好的。

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

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

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

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

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