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. Hive的查询

    基本查询 全表和特定列查询 1.全表查询 select * from emp; 2.选择特定列查询 select empno,ename from emp; 注意: 1.SQL语言大小写不敏感 2.S ...

  2. python购物车升级版

    各文件内容 前言 功能架构等请参考前一篇博客,此篇博客为进阶版的存代码展示. 详细文件内容 启动文件 starts.py启动文件 import os import sys BASE_DIR = os. ...

  3. SQL SERVER中生僻字问题存储与查询问题

    以下仅记录碰到的几个问题 1.首先字段设置为varchar的时候存储后无法进行正常的显示 显示为? 此状态下匹配查询或者Like模糊查询都没问题 2.将字段设置为nvarchar,在进行插入或者跟新时 ...

  4. 用margin还是padding ?

    margin是用来隔开元素与元素的间距:padding是用来隔开元素与内容的间隔. margin用于布局分开元素使元素与元素互不相干:padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元 ...

  5. DFS_全球变暖_蓝桥杯2018省赛N0.9

    你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. .. ...

  6. Java后台处理框架之struts2学习总结

    Java后台处理框架之struts2学习总结 最近我在网上了解到,在实际的开发项目中struts2的使用率在不断降低,取而代之的是springMVC.可能有很多的朋友看到这里就会说,那还不如不学str ...

  7. spring源码分析之配置文件名占位符的解析(一)

    一.直接写个测试例子 package com.test; import org.junit.Test; import org.springframework.context.ApplicationCo ...

  8. ubuntu kylin的桌面崩溃问题

    前几天安了ubuntu kylin,主题还是挺好看的,汉化也很好,就是各种报桌面错误,忍了,结果今天直接进不去桌面了 开机,输入密码,登录,然后桌面死活不显示,还弹出了错误提示我系统有问题,建议重启 ...

  9. redis缓存穿透,缓存击穿,缓存雪崩原因+解决方案

    一.前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是 ...

  10. 【Maven】Mac 使用 zsh 后 mvn 命令就无效

    RT -- 解决方法: 打开 .zshrc 文件,将 Maven 环境变量配置加入其中,或者 将 source ~/.bash_profile 添加到 .zshrc 中. PS: 之前搞不懂,每次使用 ...