zoukankan      html  css  js  c++  java
  • Python 接口测试之结果集比较封装

      引言

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

      知识点预热

      在讲代码之前,先了解一下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还是内存地址。现在我简单对判断测试结果进行封装,不过这里我用的是包含,当然你可以用"=="。

    具体代码:

    __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'))

    运行结果:

      总结

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

    另外,对测试开发,自动化测试技术与思想感兴趣的朋友,可以加入QQ测开交流群:696400122进行交流,互相学习与进步。不积跬步无以至千里!

  • 相关阅读:
    201871010106丁宣元 《面向对象程序设计(java)》第八周学习总结
    201871010106丁宣元 《面向对象程序设计(java)》第十一周学习总结
    201871010106丁宣元 《面向对象程序设计(java)》第十周学习总结
    学习:数据结构树状数组
    学习:数据结构线段树
    学习:数据结构哈希
    学习:数据结构单调栈
    学习:数学欧拉定理与扩展欧拉定理
    CRUD全栈式编程架构之导入导出的设计
    CRUD全栈式编程架构之服务层的设计
  • 原文地址:https://www.cnblogs.com/liudinglong/p/12799359.html
Copyright © 2011-2022 走看看