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逐行读取文件内容的三种方法
Jan 20 Python
通过C++学习Python
Jan 20 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
用实例分析Python中method的参数传递过程
Apr 02 Python
Python数据类型详解(四)字典:dict
May 12 Python
使用Python写CUDA程序的方法
Mar 27 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
Dec 23 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
解析Tensorflow之MNIST的使用
Jun 30 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
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
Python笔记之工厂模式
2019/11/20 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
大四自我鉴定范文
2013/10/06 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
出纳岗位职责模板
2013/11/27 职场文书
交通工程专业推荐信
2014/09/06 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
六年级学生评语大全
2014/12/26 职场文书
工作能力自我评价2015
2015/03/05 职场文书
资料员岗位职责范本
2015/04/13 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技