『心善渊』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) ...
随机推荐
- html原生js实现99乘法表
原生的js实现99乘法表实现选择下拉框颜色,改变背景颜色为选中的颜色 <!DOCTYPE html> <html> <head> <meta charset= ...
- Spring Cloud 升级之路 - 2020.0.x - 6. 使用 Spring Cloud LoadBalancer (1)
本项目代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...
- untiy项目中使用MD5加密
没有详细研究过暂时贴上代码以便以后研究: public static string MD5Encrypt(string strText) { MD5 md5 = MD5.Create(); byte[ ...
- CyclicBarrier分析
简介 CyclicBarrier 是什么? CyclicBarrier 使用 CyclicBarrier 源码解析 CyclicBarrier 简单实现 barrierAction 是由哪个线程执行的 ...
- (转)修改python默认排序方式
在Java中,自定义类可以通过继承comparable接口,重写compareTo方法来使用内置sort()函数来对自定义对象排序,我就在想Python中有没有类似的操作. 首先随便写个自定义类,比如 ...
- SOLO: 按位置分割对象
SOLO: 按位置分割对象 SOLO: Segmenting Objectsby Locations 论文链接: https://arxiv.org/pdf/1912.04488.pdf 代码链接: ...
- 目标检测中特征融合技术(YOLO v4)(下)
目标检测中特征融合技术(YOLO v4)(下) ASFF:自适应特征融合方式 ASFF来自论文:<Learning Spatial Fusion for Single-Shot Object D ...
- python+requests接口用例
本实例通过请求接口登录系统,获取了配置项的ID,并最终实现了对配置项的默认值进行修改 使用到的接口请求方法有:get(查询) ,post(新增),put(修改) 遇到的阻碍点见下面具体代码处的详解 编 ...
- 四、配置及使用Zabbix监控系统
要求: 沿用练习- - -,使用Zabbix监控平台监控Linux服务器,实现以下目标:1.监控CPU2.监控内存3.监控进程4.监控网络流量5.监控硬盘 方案:通过Zabbix监控平台,添加被监控z ...
- Redis五种基础与三种高级数据结构解析
记得点赞+关注呦. 前言 在 Redis 最重要最基础就属 它丰富的数据结构了,Redis 之所以能脱颖而出很大原因是他数据结构丰富,可以支持多种场景.并且 Redis 的数据结构实现以及应用场景在面 ...