『心善渊』Selenium3.0基础 — 27、unittest跳过测试的使用
1、什么是跳过测试
当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例。或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例也就没必要去执行了,为了节省用例执行时间,可选择直接跳过测试。
2、常用的跳过测试方法和装饰器
当执行有想要跳过的测试,我们可以通过skip、skipIf、skipUnless装饰器跳过某个测试方法或者测试类。
@unittest.skip(reason):skip(reason)装饰器,无条件跳过装饰的测试,并说明跳过测试的原因。@unittest.skipIf(reason):skipIf(condition,reason)装饰器,条件为真时,跳过装饰的测试,并说明跳过测试的原因。@unittest.skipUnless(reason):skipUnless(condition,reason)装饰器,条件为假时,跳过装饰的测试,并说明跳过测试的原因。@unittest.expectedFailure:测试标记为失败。
3、跳过测试示例
"""
1.学习目标
了解unittest中跳过测试方法使用
2.语法
2.1 放置在需要跳过的测试用例之前
@跳过测试方法
测试用例
2.2 分类
@unittest.skip(跳过原因):表示无条件跳过执行
@unittest.skipIf(判断条件,跳过原因): 当判断条件为真时,跳过测试
@unittest.skipUnless(判断条件,跳过原因):当判断条件为假时,跳过测试
@unittest.expectedFailure: 直接将用例标记为失败
3.需求
编写测试类,使用跳过测试
"""
# 1 导入unittest
import unittest
# 2 创建测试类
class Test_demo(unittest.TestCase):
# 3 编写test case
# 第一条测试用例正常执行
def test_case_01(self):
"""测试用例1"""
print("执行测试用例1")
# 添加skip,不执行测试
@unittest.skip("无条件跳过")
def test_case_02(self):
"""测试用例2"""
print("执行测试用例2")
# 添加skipif,条件为真跳过测试
@unittest.skipIf(True, "条件为真,跳过测试")
def test_case_03(self):
"""测试用例3"""
print("执行测试用例3")
# 添加skipIf,条件为假执行测试
@unittest.skipIf(2 > 3, "条件为假,执行用例")
def test_case_04(self):
"""测试用例4"""
print("执行测试用例4")
# 添加skipUnless,条件为假不执行测试
@unittest.skipUnless(False, "条件为假,跳过测试")
def test_case_05(self):
"""测试用例5"""
print("执行测试用例5")
# 添加skipUnless,条件为真执行测试
@unittest.skipUnless(True, "条件为真,执行用例")
def test_case_06(self):
"""测试用例6"""
print("执行测试用例6")
# 添加expectedFailure,直接将用例标记为失败
@unittest.expectedFailure
def test_case_07(self):
"""测试用例7"""
print("执行测试用例7")
def test_case_08(self):
"""测试用例8"""
print("执行测试用例8")
if __name__ == '__main__':
# 执行当前测试类中,以test开头的测试用例
unittest.main()
执行结果:

4、TestCase.skipTest()方法
用TestCase.skipTest()方法跳过某个测试方法(了解)。
示例:
# 1 导入unittest
import unittest
# 2 创建测试类
class TestDmeo(unittest.TestCase):
# 3 编写test case
def test_case_01(self):
"""测试用例1"""
print("执行测试用例1")
# TestCase.skipTest()方法
def test_case_02(self):
"""测试用例2"""
# 跳过测试方法
self.skipTest('跳过用例test_case2')
print("执行测试用例2")
if __name__ == '__main__':
# 执行当前测试类中,以test开头的测试用例
unittest.main()
执行结果:

『心善渊』Selenium3.0基础 — 27、unittest跳过测试的使用的更多相关文章
- 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍
目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...
- 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作
目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...
- 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件
目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...
- 『心善渊』Selenium3.0基础 — 1、Selenium自动化测试框架介绍
目录 1.Selenium介绍 2.Selenium的特点 3.Selenium版本说明 4.拓展:WebDriver与Selenium RC的区别 5.Webdriver工作原理 1.Seleniu ...
- 『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API
目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进 ...
- 『心善渊』Selenium3.0基础 — 25、unittest单元测试框架
目录 1.unittest基本简介 2.unittest基本概念 (1)unittest核心的四个概念 (2)如何创建一个测试类 (3)test fixture常用的四个方法 (4)unittest编 ...
- 『心善渊』Selenium3.0基础 — 26、unittest测试框架的断言
目录 1.断言介绍 2.常用的断言方法 3.断言示例 1.断言介绍 在执行测试用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果和预期结果是否相等决定的,这时会用到断言方法. 本着没有消 ...
- 『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)
目录 1.浏览器安装 2.浏览器驱动下载 (1)ChromeDriver for Chrome (2)Geckodriver for Firefox (3)IEDriverServer for IE ...
- 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解
目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...
随机推荐
- python实现给字典添加条目的方法
具体实现方法如下: def addWord(theIndex,word,pagenumber): theIndex.setdefault(word, [ ]).append(pagenumber)#存 ...
- 日常Bug排查-消息不消费
日常Bug排查-消息不消费 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 某天下午,在笔者研究某个问题正high的时候.开 ...
- MySQL 通过.frm文件和.ibd文件实现InnoDB引擎的数据恢复
起因是这样的,公司的领导表示说服务器崩了,修理好之后,只剩下数据库目录下的物理文件(即.frm文件与.ibd文件).然后,整了一份压缩包给我,叫我瞅一下能不能把数据恢复出来.我当场愣了一下,这都啥文件 ...
- 实现不同VLAN间的通信(单臂路由和链路聚合)
单臂路由与链路聚合 1.单臂路由 1.1 链路类型 1.2 子接口 2. 链路捆绑 1.单臂路由 是指在路由器的一个接口上通过配置子接口,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通. ...
- CMOS图像传感器理解
CMOS图像传感器理解 水流方向从左边流向右边,上面有一个开关,拧下去的时候水流停止,拧上去的时候水流打开.左边是水流的源头我们给它起个名字,叫做源端(就是源头的意思嘛),右边是水流出去的地方,也就是 ...
- 主成分分析法(PCA)原理和步骤
主成分分析法(PCA)原理和步骤 主成分分析(Principal Component Analysis,PCA)是一种多变量统计方法,它是最常用的降维方法之一,通过正交变换将一组可能存在相关性的变量数 ...
- 多级中间表示概述MLIR
多级中间表示概述MLIR MLIR项目是一种构建可重用和可扩展的编译器基础结构的新颖方法.MLIR旨在解决软件碎片,改善异构硬件的编译,显着降低构建特定于域的编译器的成本以及帮助将现有编译器连接在一起 ...
- TVM源码框架安装方法
TVM源码框架安装方法 本文提供如何在各种系统上从零构建和安装TVM包的说明.它包括两个步骤: 首先从C++代码中构建共享库(linux的libtvm.so,macOS的libtvm.dylib和wi ...
- .NET平台系列22:.NET Core/.NET5/.NET6 对比 .NET Framework
系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<.NET平台系列2 .NET Framework 框架详解>与 <.NET平台系列7 .NET Core 体系结构 ...
- 面试一次问一次,HashMap是该拿下了(一)
文章目录 前言 一.HashMap类图 二.源码剖析 1. HashMap(jdk1.7版本) - 此篇详解 2. HashMap(jdk1.8版本) 3. ConcurrentHashMap ~~ ...