我们在做接口自动化的时候会用当unittest框架,这个框架中是有assert方法

当我们写好我们的case后 总要有个验证是否正确的东西,assert就给我们提供了非常强大的结果验证

序号 断言方法 断言描述
1 assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail
2 assertNotEqual(arg1, arg2, msg=None) 验证arg1 != arg2, 相等则fail
3 assertTrue(expr, msg=None) 验证expr是true,如果为false,则fail
4 assertFalse(expr,msg=None) 验证expr是false,如果为true,则fail
5 assertIs(arg1, arg2, msg=None) 验证arg1、arg2是同一个对象,不是则fail
6 assertIsNot(arg1, arg2, msg=None) 验证arg1、arg2不是同一个对象,是则fail
7 assertIsNone(expr, msg=None) 验证expr是None,不是则fail
8 assertIsNotNone(expr, msg=None) 验证expr不是None,是则fail
9 assertIn(arg1, arg2, msg=None) 验证arg1是arg2的子串,不是则fail
10 assertNotIn(arg1, arg2, msg=None) 验证arg1不是arg2的子串,是则fail
11 assertIsInstance(obj, cls, msg=None) 验证obj是cls的实例,不是则fail
12 assertNotIsInstance(obj, cls, msg=None) 验证obj不是cls的实例,是则fail

本次我们先介绍3种常用的方法,大家若想拓展更多的知识,可以拿以上列表自行尝试。

分别是assertEqual,assertNotEqual,assertIn

第一种断言:assertEqual

断言相等

assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail
示例代码如下
import unittest
class test(unittest.TestCase):
def testSubtract(self):
a = 1
b = 1
self.assertEqual(a,b,msg=None) if __name__ == '__main__':
unittest.main()

我们执行一下错误的给大家看下

从上图我们可以看到,a = 1  b = 2   当我们断言a == b 的时候,并没有成功,程序报错了。

第二种断言:assertNotEqual

我们刚刚讲了断言两个值是否相等,是assertequal,那么在NotEqual 也是可以直观看出,两个值不相等的断言方式

示例代码:

'''
博客园:酸芒果
作者:张天赐
'''
import unittest
class test(unittest.TestCase):
def testSubtract(self):
a = 1
b = 2
self.assertNotEqual(a,b,msg='a与b相等') if __name__ == '__main__':
unittest.main()

如果相等我们看看执行结果

第三种是assertIn

断言某个元素是否在某个里面,在则断言成功,不在则失败

示例代码:

'''
博客园:酸芒果
作者:张天赐
'''
import unittest
class test(unittest.TestCase):
def testSubtract(self):
a = [1,2,3,4,5,6,7]
self.assertIn(7,a,msg='不在') if __name__ == '__main__':
unittest.main() 可以从代码看出,我们断言 7,a 的意思是7是否在a这个列表中,因为在,我们执行成功,后面的mag是失败后给的提示,所有我们并没有看到 下面我们试下8 是否在a中

python接口自动化 - 断言(上)的更多相关文章

  1. Python接口自动化——文件上传/下载接口

    〇.前言 文件上传/下载接口与普通接口类似,但是有细微的区别. 如果需要发送文件到服务器,例如:上传文档.图片.视频等,就需要发送二进制数据,上传文件一般使用的都是 Content-Type: mul ...

  2. python接口自动化18-multipart/form-data上传多个附件

    前言 reuqests上传一张图片到服务器,前面已经介绍过了,那么如何在提交BUG的时候,上传附件呢? 上传附件的时候,文件的name参数名称是一样的,python里面key是不可以重复的,又如何处理 ...

  3. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

  4. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  5. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  6. python接口自动化28-requests-html爬虫框架

    前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...

  7. python接口自动化24-有token的接口项目使用unittest框架设计

    获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部 ...

  8. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

  9. python接口自动化3-自动发帖(session)

    前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...

随机推荐

  1. 橘子origin游戏平台如何绑定登陆验证/二次验证码?

    任天堂游戏公司4月份16万用户数据被黑客盗取,官方呼吁用户绑定二次验证码.疫情期间游戏用户暴涨,黑客活动频率也在增长,想起R星俱乐部用户绑定两步验证给十金的长期活动实在是明智之举,下面说下橘子游戏平台 ...

  2. python-scrapy爬虫框架爬取拉勾网招聘信息

    本文实例为爬取拉勾网上的python相关的职位信息, 这些信息在职位详情页上, 如职位名, 薪资, 公司名等等. 分析思路 分析查询结果页 在拉勾网搜索框中搜索'python'关键字, 在浏览器地址栏 ...

  3. vector STL

    高呼“STL大法好!!” vector 是一个不限定容量的数组. 先说一下头文件 #include<vector> 1.声明 vector<int>v1;//vector元素为 ...

  4. PHP localtime() 函数

    ------------恢复内容开始------------ 实例 以一个数值数组和一个关联数组的形式输出本地时间: <?phpprint_r(localtime());echo "& ...

  5. 7.18 NOI模拟赛 树论 线段树 树链剖分 树的直径的中心 SG函数 换根

    LINK:树论 不愧是我认识的出题人 出的题就是牛掰 == 他好像不认识我 考试的时候 只会写42 还有两个subtask写挂了 拿了37 确实两个subtask合起来只有5分的好成绩 父亲能转移到自 ...

  6. dfs树

    dfs树是解决图中带环的利器. 前天CF的F题就是dfs树,但是当时我没有认真思考 觉着找到一个环过于困难 当时没有想到 也没理解dfs树的意义. 对于一张无向图求出一个dfs树 这个树有两种边 树边 ...

  7. react ts redux-saga | 谷歌Chrome浏览器风格的标签组件 | 中台

    谷歌Chrome浏览器风格的标签组件 选用技术 react typescript redux-saga存储本地标签数据 umi 实现 [x] 支持全部关闭,当前关闭,关闭其他Tab [x] 支持Tab ...

  8. 笨办法学python3练习代码13-14:argv参数变量的学习

    ex13.py  argv参数的学习 #argv:参数变量(argument variable),这是一个标准的编程术语,在其他语言中也可可以看到.argument可译为: 参数 #如果参数是用户在执 ...

  9. stl_heap

    学习一下stl_heap 下面的算法是根据stl源码重新整合一下,是为了方便理解 因为使用的迭代器,为了在给定的迭代器之间使用heap的一些方法, 内部通常用disHole来确定某个节点 dishol ...

  10. .net hbase client--终于浮出水面的轮子

    一.开篇 1.背景 在大数据时代,HBase 数据库是个绕不开的热门话题. 由于其使用 Java 作为主要开发语言,并且依赖大量的 Java 组件(如 Hadoop.zooKeep),使得其他技术栈想 ...