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 ...
随机推荐
- 用MATLB仿真一个单闭环控制量,同时还存在两个开环控制变量的阶跃响应曲线。(自动控制方法是PID中的P控制。通过查表法直接给开环参数稳态最佳的大小)
实际项目背景:甘肃省,航天510所的LIPS100电推力器.一共有三个控制变量,开环控制变量是:Ia(阳极电流).mmrf(阳极主流率) 这个阳极主流率是阀门变量,不能够突变,模拟用(大学一年级课,电 ...
- MyBatis select标签的用法
From<MyBatis从入门到精通> 第一步,在接口中添加方法: public interface UserMapper { SysUser selectById(Long id); } ...
- 【字符串】P2084 进制转换-C++
题目描述 今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 : 1*2^4+0*2^3+1*2^2+0*2^1+1*2^0, 那么请你编程实现,将一个M进制的数N转换成十进 ...
- 创建 gif
1.动态创建 <Container name="layLoading"/> if (m_pLoadingGif == NULL) { m_pLoadingGif ...
- 请问 imgbtn上怎样添加文字呢
陈桂城(49868971) 2013/10/14 21:29:57 <imgbtn>文字</imgbtn>
- 洛谷 P4363 [九省联考2018]一双木棋chess 题解
题目链接:https://www.luogu.org/problemnew/show/P4363 分析: 首先博弈,然后考虑棋盘的规则,因为一个子在落下时它的上面和左面都已经没有空位了,所以棋子的右下 ...
- 题解 AT2243 【正方形のチップ】
题意:在格子纸上: 给出格子的单位长度C,和在上面圆的半径R; 求出: 圆中有多少个完整的小正方形.(单位长度*单位长度) #include<cstdio> #include<cma ...
- mysql之char、varchar、text对比
mysql5.0.3以后,n都表示字符数(varchar(n)) 检索效率 char > varchar > text 当varchar长度超过255之后,跟text一致,但是设置varc ...
- 如何优雅关闭 Spring Boot 应用
## 前言 随着线上应用逐步采用 SpringBoot 构建,SpringBoot应用实例越来多,当线上某个应用需要升级部署时,常常简单粗暴地使用 kill 命令,这种停止应用的方式会让应用将所有处理 ...
- HZOJ 单
两个子任务真的是坑……考试的时候想到了60分的算法,然而只拿到了20分(各种沙雕错,没救了……). 算法1: 对于测试点1,直接n遍dfs即可求出答案,复杂度O(n^2),然而还是有好多同学跑LCA/ ...