python+unittest框架第四天unittest之断言(一)
unittest中的测试断言分两天总结,hhh其实内容不多,就是懒~
断言的作用是什么? 答:设置测试断言以后,能帮助我们判断测试用例执行结果。
我们先看下unittest支持的断言有哪些:

对上面的断言语法有个大概的了解后,我们使用一下看看代码:
一:
断言 assertEqual(a,b) 它可以判断两个参数相等,比如我们把获取到的百度首页的title和我们写的title做对比。
'''
标题 断言 assertEqual() 它可以判断两个参数相等,比如我们把获取到的百度首页的title和我们写的title做对比。
'''
import unittest
from bokeyuan.bokeyuan_public import * class baidu_page(public_baidu): #继承了另一个.py模块中的public_baidu类,这个类继承了TestCase
'''
因为继承了自己另一个.py模块中的类public_baidu,所以不需要在写setup和teardown两个测试固件的方法。
'''
'''直接写用例'''
def test_baidu_title(self): #只要是用例,函数名字开头必须是test_ 不然不会被识别成用例的!!
print('获取到的title是:',self.driver.title) #我们打印获取到的title内容
self.assertEqual(self.driver.title,'百度一下,你就知道') #第二个参数是我们自己写的需要校验的内容哦 @staticmethod
def suite(self):
unittest.TestSuite(unittest.makeSuite(baidu_page))
return suite #一定要返回结果给调用方
if __name__ == '__main__':
unittest.main(verbosity=2).run(baidu_page.suite()) #把baidu_page类中的案例,传入到测试套件中suite(),suite()方法是被装饰了的,所以不需要实例化可以直接类名调用

注意:相等,必须是内容和类型都完全相等哦,比如 str('1') 和 int(1) 这两个1内容是一样的,但是他们的数据类型可不是一样的,所以不会是相等的哦!字符串和数据类型是两个类型哦~!!! 相等的两个含义你学会了吗?
那么assertNotEqual(a,b) 代表的是不相等,你可以举一反三写出小的案例吗? 题目:判断一下 3不等4

不会的朋友可以留言,大家一起相互学习~~
二:assertTrue(x) 返回的是bool类型的数据,True大家都不陌生,真真为真,真假为假,假假为假~~
我们看个小案例,我判断一下百度首页的输入框是可以输入内容,如果可以编辑,那么bool值肯定就是真(True)~~
备注:
so.is_enabled() 作用是检查元素是否可以编辑 如文本框
'''
标题 断言 assertTrue() 它返回的是Ture,也就是条件为真,就是通过了~~真真为真
'''
import unittest
from bokeyuan.bokeyuan_public import * class baidu_page(public_baidu): #继承了另一个.py模块中的public_baidu类,这个类继承了TestCase
'''
因为继承了自己另一个.py模块中的类public_baidu,所以不需要在写setup和teardown两个测试固件的方法。
'''
'''直接写用例'''
def test_baidu_ShuRuKuang(self): #只要是用例,函数名字开头必须是test_ 不然不会被识别成用例的!!
'''验证百度首页的输入框,可以输入内容'''
so = self.driver.find_element_by_id('kw')
self.assertTrue(so.is_enabled()) #它 so.is_enabled() 作用是检查元素是否可以编辑 如文本框 @staticmethod
def suite(self):
unittest.TestSuite(unittest.makeSuite(baidu_page))
return suite #一定要返回结果给调用方
if __name__ == '__main__':
unittest.main(verbosity=2).run(baidu_page.suite()) #把baidu_page类中的案例,传入到测试套件中suite(),suite()方法是被装饰了的,所以不需要实例化可以直接类名调用

可以看到案例是ok,表示通过,说明是可以编辑的,通过案例你会使用assertTrue(x) 了吗?是不是认识了呢?
同样的assertFalse() 代表假,你可以用它判断一下 3等于4 吗? 如果你不会写 那么留言哦~~大家一起学习
三、aeertIn(a,b) 代表 a是不是在b里面,或者被b所包含。我们看下代码示例:
'''
标题 断言 assertIn(a,b) 代表a是不是被b所包含,a是不是在b里面
'''
import unittest
from bokeyuan.bokeyuan_public import * class baidu_page(public_baidu): #继承了另一个.py模块中的public_baidu类,这个类继承了TestCase
'''
因为继承了自己另一个.py模块中的类public_baidu,所以不需要在写setup和teardown两个测试固件的方法。
'''
'''直接写用例'''
def test_baidu_ShuRuKuang(self): #只要是用例,函数名字开头必须是test_ 不然不会被识别成用例的!!
'''验证百度两个字,在百度的title内容中包含'''
self.assertIn('百度',self.driver.title) @staticmethod
def suite(self):
unittest.TestSuite(unittest.makeSuite(baidu_page))
return suite #一定要返回结果给调用方
if __name__ == '__main__':
unittest.main(verbosity=2).run(baidu_page.suite()) #把baidu_page类中的案例,传入到测试套件中suite(),suite()方法是被装饰了的,所以不需要实例化可以直接类名调用

同样的方法,你能有可以用assertIsNot(a, b) 代表a不在b中包含。写一个小案例吗?题目: 字符串 ’b‘ 不在 字符串 ’acc‘ 中包含
今天的内容就是这么多了,其实常用的断言(assert)方法就是这三种,其他的也会用到,但是不要贪,先学会这三种以及相反的三种,就是六种了~~棒~~~
不会的朋友,可以留言,大家一起学习~
python+unittest框架第四天unittest之断言(一)的更多相关文章
- python+unittest框架第四天unittest之批量执行案例
今天开始批量执行用例~,场景是这样的: 工作中我们可能有多个模块文件(.py)这些文件根据不同的业务类型或功能,测试案例分布在不同的模块文件下.前面的小示例中,我们的测试用例都是在一个文件中,直接运行 ...
- python+unittest框架第三天unittest之分离测试固件和公共代码,跳过案例的执行
我们在时间工作中,会将整个项目的代码分别放置多个模块中去编写.方便后期项目维护,比如,我们的web项目可能有多个IP地址,每个IP地址代表不同的测试环境.测试环境与Bat环境或者验收环境等.这就需要我 ...
- pycharm 右键无法显示unittest框架&&解决右键只有unittest 运行如何取消右键显示进行普通run
上面是普通文件和unittest 导入的文件右键快捷键显示情况,可以看出两者快捷键都是ctr+shift+F10,如果你是右键模式想运行unitest,但是又不知道哪里配置unittest直接运行快捷 ...
- unittest框架(三)unittest+yaml数据驱动
学习完了如何用yaml文件管理用例,如何进行单元测试,如何产生漂亮的测试报告,那么结合这几点,我们简单学习下unittest+yaml数据驱动来测试. 第一步:首先,我们建一个yaml文件,管理用例, ...
- Python测试框架unittest
Python测试框架unittest 一.unittest框架 (1)unittest特点 1.python自带的单元测试框架,不需要安装 2.用例执行互不干扰 3.提供不同范围的setUp和tear ...
- Python单元测试框架unittest之深入学习
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...
- Unittest框架小结
在日常的自动化测试过程中,Python里有一个自带的单元测试框架是unittest模块,简单易用,这里简单介绍下其主要的用法. Unittest测试框架主要包含四个部分 TestCase 也就是测试用 ...
- pycharm中脚本执行的3种模式(unittest框架、pytest框架、普通模式)
背景知识,某次使用HTMLTestRunner的时候,发现一直都无法导出报告,后来查询资料发现了一些坑,现在整理一下来龙去脉. 一:pycharm默认的是pytest框架去执行unittest框架的测 ...
- python单元测试框架pytest
首先祝大家国庆节日快乐,这个假期因为我老婆要考注会,我也跟着天天去图书馆学了几天,学习的感觉还是非常不错的,这是一篇总结. 这篇博客准备讲解一下pytest测试框架,这个框架是当前最流行的python ...
随机推荐
- ambari-cassandra-service
社区:https://github.com/Symantec/ambari-cassandra-service 在HDP集群上安装和管理Cassandra服务,Apache Cassandra是一个开 ...
- TF项目实战(基于SSD目标检测)——人脸检测1
SSD实战——人脸检测 Tensorflow 一 .人脸检测的困难: 1. 姿态问题 2.不同种族人, 3.光照 遮挡 带眼睛 4.视角不同 5. 不同尺度 二. 数据集介绍以及转化VOC: 1. F ...
- Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现
Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现 一.漏洞描述 该漏洞是由于tomcat CGI将命令行参数传递给Win ...
- TensorFlow笔记-可视化Tensorboard
可视化Tensorboard •数据序列化-events文件 TensorBoard 通过读取 TensorFlow 的事件文件来运行 •tf.summary.FileWriter('/tmp/ten ...
- mysql8.0.15创建数据库和是删除数据库及删除用户
---恢复内容开始--- 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 1.首先安装mysql8.0.15 2.Mys ...
- Ambassador,云原生应用的“门神”
目前,行业内基于云原生思想的开源项目,重点在于管理.控制微服务以及微服务架构下服务之间的通信问题.它们有效的解决了“服务异构化”.“动态化”.“多协议”场景所带来的east/west流量的管控问题,而 ...
- 《C# 语言学习笔记》——定义属性
属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的 ...
- IIS应用程序池标识(程序池账户)ApplicationPoolIdentify
IIS中应用程序池的运行账户(标识)有以下4个选项 LocalService 本地服务 LocalSystem 本地系统 NetWorkService 网络服务 ApplicationPoolIden ...
- memset函数怎么用嘞↓↓↓
1.我也曾天真的以为 memset(a,0,sizeof(a))中的0可以用任意数替换 实际上这是错误的 memset的功能是将一快内存中的内容以单个字节逐个拷贝的方式放到指定的内存中去. 2.介绍几 ...
- PowerDesigner添加唯一键(mysql)
1.打开Columns选项卡 2.选中要添加唯一键的字段 3.点击工具栏Create Key按钮,如图 4.打开创建key窗口,根据情况修改约束名称,不修改也可以 5.切换到mysql选项卡,选中“U ...