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 ...
随机推荐
- 【DFS例题】等式
题目如下: 这道题依然是一道dfs(要求输出方案数很明显用dfs呐) 首先一个模板贴上来: void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return ...
- [记录]python异步编程async/await实现
from selectors import DefaultSelector, EVENT_READ, EVENT_WRITE import socket from types import corou ...
- SP1805 HISTOGRA - Largest Rectangle in a Histogram 题解
题目链接:https://www.luogu.org/problemnew/show/SP1805 分析: 我们可以用一个单调栈由低到高来存储它的高度,并用数组对每个高度记录一下它前面(包括它自己)一 ...
- C# ORM简单原理
对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去. 在今日的企业环境中,把面向对象 ...
- python初步编写用户登录
python初步编写用户登录 python编写用户登录 用python写一个脚本,使得这个脚本在执行后,可以产生如下的效果: 1.用户的账号为:root 密码为:westos 2.用户账号和密码均输 ...
- 云计算:Linux运维核心管理命令详解
云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...
- ASP.NET Core MVC 之布局(Layout)
1.什么是布局 布局通常包含常见的用户界面元素,例如应用头,导航或菜单元素和页脚,如图: 常见的HTML结构(例如脚本和样式表)也经常被应用程序中许多页面使用.所有这些共享元素都可以在布局中定义,然后 ...
- Codeforces Round #486 (Div. 3) C "Equal Sums" (map+pair<>)
传送门 •题意 给k个数列,从中k个数列中找出任意2个数列 i ,j 使得数列i删除第x个数,和数列j删除第y个数的和相等 若存在,输出 i ,x 和 j,y •思路 每个数列之间的联系为数列的和之间 ...
- Jsp机试题 (用户登录用户注册/用户注销功能)
1. 用户登录 实现用户登录,功能,三个页面登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp.用户再登录页面输入用户名和密码,前台页面使用js ...
- Linux中tree无法正常显示中文的解决方法
tree命令以树状图列出目录的内容. 命令 tree -L n 的时候往往是无法正常显示中文的 先开始我以为是tree命令对中文是不支持的,后来百度了一下,网上有几个解决办法 安装新的tree可以解决 ...