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 解析html之BeautifulSoup
Jul 07 Python
python每次处理固定个数的字符的方法总结
Jan 29 Python
Python中用于返回绝对值的abs()方法
May 14 Python
python实现支持目录FTP上传下载文件的方法
Jun 03 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
Python 实现打印单词的菱形字符图案
Apr 12 Python
python中tab键是什么意思
Jun 18 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 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
eclipse php wamp配置教程
2016/06/30 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
vuex 的简单使用
2018/03/22 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
python中随机函数random用法实例
2015/04/30 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
详解Python 切片语法
2019/06/10 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
python实现局域网内实时通信代码
2019/12/22 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
Python字典dict常用方法函数实例
2020/11/09 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
为什么要做架构设计
2015/07/08 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
小学新学期教师寄语
2014/01/18 职场文书
党校培训自我鉴定
2014/02/01 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
三方合作协议书范本
2014/04/18 职场文书
假释思想汇报范文
2014/10/11 职场文书
我的长征观后感
2015/06/09 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
如何正确理解python装饰器
2021/06/15 Python