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


Posted in Python onMay 01, 2020

引言

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

知识点预热

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

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

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

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

示例:

# 数值型

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

# 字符串

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

# 元组

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

# 列表

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

# 字典

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

# 集合

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

结论:通过上面几个例子可以看出,两个对象只有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'))

运行结果:

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

总结

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python socket编程实例详解
May 27 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
python实现决策树ID3算法的示例代码
May 30 Python
Python实现识别图片内容的方法分析
Jul 11 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
Oct 30 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
Python实现京东秒杀功能代码
May 16 Python
在django中,关于session的通用设置方法
Aug 06 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
解决python虚拟环境切换无效的问题
Apr 30 #Python
python爬虫实现POST request payload形式的请求
Apr 30 #Python
Pycharm IDE的安装和使用教程详解
Apr 30 #Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
Apr 30 #Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 #Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 #Python
python针对Oracle常见查询操作实例分析
Apr 30 #Python
You might like
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
python事件驱动event实现详解
2018/11/21 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
工会工作个人总结
2015/03/03 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Django中session进行权限管理的使用
2021/07/09 Python