『心善渊』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) ...
随机推荐
- 编写程序,计算当n=10000,20000,30000...100000时,π的值.求π的近似公式 π=4*(1-1/3+1/5-1/7+1/9-1/11+1/13-...+1/(2n-1)-1/(2n+1))
该程序是求的 π 近似值,所以随着 i 的增大,值会无线接近于 3.1415926... 代码示例 : package judgment;/** * 编写程序,计算当n=10000,20000,300 ...
- 使用python实现钉钉告警通知功能
前言:日常工作中告警通知是必不可少的,一般会使用邮件.钉钉.企业微信等,今天分享一下使用python实现钉钉告警 一. 钉钉机器人创建 登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群 ...
- java学习之旅2——set
var set = Collections.synchronizedSet(new HashSet<Integer>()); 可以这样来获得一个同步的集合. 对于HashSet, for循 ...
- android Room数据库仓库模式
- urllib2连接超时设置
#urllib2设置超时 #获取网页的源码 def getHtml(url,i): if i > 2: return try: req = urllib2.Request(url) time.s ...
- 启动dubbo消费端过程提示No provider available for the service的问题定位与解决
文/朱季谦 某次在启动dubbo消费端时,发现无法从zookeeper注册中心获取到所依赖的消费者API,启动日志一直出现这样的异常提示 Failed to check the status of t ...
- Java基础之第二章变量
1. 变量介绍 变量是程序的基本组成单位 概念 变量相当于内存中一个数据存储空间的表示,可以通过变量名可以访问到变量(值). 变量使用 声明变量 int a; 赋值 a = 20; public cl ...
- kafka之一:kafka简介
现在从事java开发的同学,不论是在面试过程中还是在日常的工作中,肯定会碰到消息队列的情况,市面上消息队列有很多:kafka.rocketMQ.rabbitMQ.zeroMQ等,从本篇博客起计划分享一 ...
- App自动化测试之Appium环境安装(涉及雷电模拟器和真机)
1.安装Microsoft .NET Framework 4.5 及以上版本 2.安装Appium 官方网站地址:http://appium.io/ 我装了1.17.0版本 3.安装JDK 1.8及以 ...
- 3D重建算法原理
3D重建算法原理 三维重建(3D Reconstruction)技术一直是计算机图形学和计算机视觉领域的一个热点课题.早期的三维重建技术通常以二维图像作为输入,重建出场景中的三维模型.但是,受限于输入 ...