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之断言(一)的更多相关文章

  1. python+unittest框架第四天unittest之批量执行案例

    今天开始批量执行用例~,场景是这样的: 工作中我们可能有多个模块文件(.py)这些文件根据不同的业务类型或功能,测试案例分布在不同的模块文件下.前面的小示例中,我们的测试用例都是在一个文件中,直接运行 ...

  2. python+unittest框架第三天unittest之分离测试固件和公共代码,跳过案例的执行

    我们在时间工作中,会将整个项目的代码分别放置多个模块中去编写.方便后期项目维护,比如,我们的web项目可能有多个IP地址,每个IP地址代表不同的测试环境.测试环境与Bat环境或者验收环境等.这就需要我 ...

  3. pycharm 右键无法显示unittest框架&&解决右键只有unittest 运行如何取消右键显示进行普通run

    上面是普通文件和unittest 导入的文件右键快捷键显示情况,可以看出两者快捷键都是ctr+shift+F10,如果你是右键模式想运行unitest,但是又不知道哪里配置unittest直接运行快捷 ...

  4. unittest框架(三)unittest+yaml数据驱动

    学习完了如何用yaml文件管理用例,如何进行单元测试,如何产生漂亮的测试报告,那么结合这几点,我们简单学习下unittest+yaml数据驱动来测试. 第一步:首先,我们建一个yaml文件,管理用例, ...

  5. Python测试框架unittest

    Python测试框架unittest 一.unittest框架 (1)unittest特点 1.python自带的单元测试框架,不需要安装 2.用例执行互不干扰 3.提供不同范围的setUp和tear ...

  6. Python单元测试框架unittest之深入学习

    前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...

  7. Unittest框架小结

    在日常的自动化测试过程中,Python里有一个自带的单元测试框架是unittest模块,简单易用,这里简单介绍下其主要的用法. Unittest测试框架主要包含四个部分 TestCase 也就是测试用 ...

  8. pycharm中脚本执行的3种模式(unittest框架、pytest框架、普通模式)

    背景知识,某次使用HTMLTestRunner的时候,发现一直都无法导出报告,后来查询资料发现了一些坑,现在整理一下来龙去脉. 一:pycharm默认的是pytest框架去执行unittest框架的测 ...

  9. python单元测试框架pytest

    首先祝大家国庆节日快乐,这个假期因为我老婆要考注会,我也跟着天天去图书馆学了几天,学习的感觉还是非常不错的,这是一篇总结. 这篇博客准备讲解一下pytest测试框架,这个框架是当前最流行的python ...

随机推荐

  1. Java编程思想:通配符(后面有两个小节,研究的不够深入)

    import java.util.*; public class Test { public static void main(String[] args) { } } /* 15.9 边界 要点: ...

  2. VNC服务配置

    Windows通过VNC远程桌面访问Ubuntu设备:一个WIN7的机器,一个系统为Ubuntu的机器 (二者可以均可为虚拟机或实体机) 目的:在Windows系统上通过VNC远程访问Ubuntu. ...

  3. 开发板编译./camera显示-/bin/sh: ./camera: not found解决方案

    问题: 开发板根文件系统目录: 运行./camera显示: 问题解决: 1.排除根目录路径问题: 2. 加入静态链接库即无问题,但是编译后的".o"文件大小突增,而且也不可能每次编 ...

  4. python 3.5学习笔记(第五章)

    本章内容 1.什么是模块 2.模块的导入方法 3.搜索路径 4.重要标准库 一.什么是模块 1.模块本质上是一个以.py 结尾的python文件,包含了python对象定义和python语句. 2.模 ...

  5. JavaScript知识点---->运算规则与运算(逻辑、位)

    *在js中不同类型之间的运算,所得到结果的类型也会有所变化: string + number = string string + boolean = string string + undefiend ...

  6. MySql的数据库优化到底优啥了都??(2)

    嘟嘟在写此篇文章之前心里先默念(简单,通俗,工整)*10 吟唱完了,进入正题 3.Memory存储引擎 除了存放一个表结构相关信息的.frm文件在磁盘上,其他数据都存储在内存中.说白点哪天你数据库死机 ...

  7. .Net Core2.2 WebApi上传文件

    基于.net core2.2的webapi程序,接收客户端上传的文件.按照以下写法,file的值永远是null [HttpPost] public void Post([FromForm] IForm ...

  8. 从零开发一款自己的小程序UI组件库(一)

    写在前面:有开发过小程序的朋友肯定知道组件化开发的特性,高内聚与低耦合.使用已有的UI组件库,诸如:vantUI-weapp.minUI-weapp等UI组件库的诞生使我们的开发速度大大的加快,丰富的 ...

  9. sklearn学习 第一篇:knn分类

    K临近分类是一种监督式的分类方法,首先根据已标记的数据对模型进行训练,然后根据模型对新的数据点进行预测,预测新数据点的标签(label),也就是该数据所属的分类. 一,kNN算法的逻辑 kNN算法的核 ...

  10. 主机cpu突然飙高,如何快速排查问题

    [问题发现] 使用zabbix软件监控服务器时发现cpu突然异常,在业务主机上使用top命令查看系统的整体运行情况,使用top命令后发现mysqld占用CPU特别高,初步判断可能是mysqld出现问题 ...