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程序中使用Cookie的教程
Apr 30 Python
python采集百度百科的方法
Jun 05 Python
简单谈谈python中的语句和语法
Aug 10 Python
python微信跳一跳系列之色块轮廓定位棋盘
Feb 26 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
详解Python 循环嵌套
Jul 09 Python
python如何爬取网页中的文字
Jul 28 Python
pycharm 代码自动补全的实现方法(图文)
Sep 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
CodeIgniter中实现泛域名解析
2014/07/19 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
性能优化之代码优化页面加载速度
2017/03/01 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python中max函数用法实例分析
2015/07/17 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python openssl模块安装及用法
2020/12/06 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
MySQL面试题
2014/01/12 面试题
材料加工硕士生求职信
2013/10/10 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
员工2014年度工作总结
2014/12/09 职场文书
滴水洞导游词
2015/02/10 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
React中的Context应用场景分析
2021/06/11 Javascript
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python