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语言的12个基础知识点小结
Jul 10 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
简单易懂的python环境安装教程
Jul 13 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 Python
Python中format()格式输出全解
Apr 12 Python
Python socket 套接字实现通信详解
Aug 27 Python
基于python实现学生信息管理系统
Nov 22 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
Python实现AI换脸功能
Apr 10 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 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使用正则表达式清除超链接文本
2013/11/12 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
PHP 设计模式系列之 specification规格模式
2016/01/10 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
python关键字and和or用法实例
2015/05/28 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
生物学专业求职信
2014/07/23 职场文书
大学生交通专业求职信
2014/09/01 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技