Python+selenium之跳过测试和预期失败
在运行测试时,需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败。unittest单元测试框架提供了实现这些需求的装饰器。
1.unittest.skip(reason)
无条件地跳过装饰的测试,说明跳过测试的原因
2.unittest.skipIf(condition,reason)
如果条件为真时,跳过装饰的测试。
3.unittest.skipUless(condition,reason)
跳过装饰的测试,除非条件为真
4.unittest.expectedFailure()
测试标记为失败。不管执行结果是否失败,统一标记为失败。
代码如下:
# # coding =utf-8
# # calculator
#
# class Count ():
# def __init__(self, a, b):
# self.a = int (a)
# self.b = int (b)
#
# def add(self):
# return self.a + self.b
#
# def sub(self):
# return self.a - self.b
import unittest class MyTest (unittest.TestCase):
def setUp(self):
pass def tearDown(self):
pass @unittest.skip ("直接跳过测试")
def test_skip(self):
print("test aaa") @unittest.skipIf (3 > 2, "当条件为True时,跳过测试")
def test_skip_if(self):
print('test bbb') @unittest.skipUnless (3 > 2, "当条件为True时,执行测试")
def test_skip_unless(self):
print('test ccc') @unittest.expectedFailure
def test_expected_failure(self):
assertEqual (2, 3) if __name__ == '__main__':
unittest.main ()
如上:第一条测试用例通过@unittest.skip()装饰,直接跳过不执行。
第二条用例通过@unittest.skipIf()装饰,当条件为真时不执行,3>2条件为真(True),跳过不执行。
第三条用例通过@unittest.skipUnless()z装饰,当条件为真时执行,判断3>2条件为真(True),第三条用例执行。
第四条用例通过@unittest.expectedFailure装饰,不管执行结果是否失败,统一标记为失败,但不会抛出错误信息。
这些方法同样可以作用测试类,只需要将他们定义在测试类上面即可。
import unittest @unittest.skip ("直接跳过该测试类")
class MyTest (unittest.TestCase):
def setUp(self):
pass def tearDown(self):
pass @unittest.skip ("直接跳过测试")
def test_skip(self):
print("test aaa") @unittest.skipIf (3 > 2, "当条件为True时,跳过测试")
def test_skip_if(self):
print('test bbb') @unittest.skipUnless (3 > 2, "当条件为True时,执行测试")
def test_skip_unless(self):
print('test ccc') @unittest.expectedFailure
def test_expected_failure(self):
assertEqual (2, 3) if __name__ == '__main__':
unittest.main ()
Python+selenium之跳过测试和预期失败的更多相关文章
- python:unittest之跳过测试和预期失败的用例
在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能. 前面的博客介绍了unittest框架的测试用例加 ...
- python单元测试框架-unittest(五)之跳过测试和预期失败
概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...
- unittest跳过测试和预期失败
在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了这些需求的装饰器. unittest.skip(reason) 无条 ...
- python selenium 使用htmlunit 执行测试。非图形界面浏览器。
其实就是换个浏览器,只是这个浏览器没有图形界面而已. browser = webdriver.Chrome() 换成 browser = webdriver.Remote(desired_capabi ...
- Python selenium执行多个测试脚本时,浏览器多次打开登录账户
当类里面定义了 setUp() 方法的时候,测试程序会在执行每条测试项前先调用此方法:同样地,在全部测试项执行完毕后,tearDown() 方法也会被调用. 所以当在setUp()中执行打开浏览器后, ...
- Pytest权威教程12-跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例
目录 跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例 Skip跳过用例 xFail:将测试函数标记为预期失败 Skip/xFail参数设置 返回: Pytest权威教程 跳过(Sk ...
- python selenium自动化点击页面链接测试
python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回 ...
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- Python网络数据采集7-单元测试与Selenium自动化测试
Python网络数据采集7-单元测试与Selenium自动化测试 单元测试 Python中使用内置库unittest可完成单元测试.只要继承unittest.TestCase类,就可以实现下面的功能. ...
随机推荐
- 快速排序(java)
快速排序是冒泡排序的优化,是一种非常高效的排序, 甚至是目前为止最高效的排序,其思想是这样的:设数组a中存放了n个数据元素,low为数组的低端下标,high为数组的高端下标,从数组a中任取一个元素(通 ...
- 继承HibernateDaoSupport实现DAO(spring整合hibernate)
转自:https://blog.csdn.net/yz9612/article/details/80234377 spring为hibernate的DAO提供工具类:HibernateDaoSuppo ...
- 用expressjs写RESTful API
http://blog.csdn.net/kiwi_coder/article/details/36424671 用expressjs写RESTful API http://blog.csdn ...
- Windows下搭建Subversion 服务器
一.准备工作 1.获取 Subversion 服务器程序 到官方网站(http://subversion.tigris.org/)下载最新的服务器安装程序.目前最新的是1.5版本,具体下载地址在:ht ...
- day6 面向对象(2)
static关键字 1:如果没有static会怎样? 1:定义Person类 1:姓名.年龄.国籍,说话行为 2:多个构造,重载形式体现 2:中国人的国籍都是确定的 1:国籍可以进行显示初始化 cla ...
- asn编译常见报错
TypeError: unsupported operand type(s) for -: 'str' and 'int' 可能是该用列表的地方没用列表. 1. ’-‘不支持,需改为'_' asn1t ...
- 编译portmap和nfs-utils
编译portmap和nfs-utils 为了在播放机上实现NFS服务器的功能,我们已经在uClibc中打开了完整RPC支持,并且在新编译的内核中打开了NFS服务器支持.此外还有两个软件包也是提供NFS ...
- 滴滴Booster移动APP质量优化框架 学习之旅
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 一.Booster简介 Booster是滴滴最近开源一个的移动应 ...
- 模拟一则ORA-600 [4194][][]故障并处理
环境:OEL 5.7 + Oracle 11.2.0.3 1.模拟ORA-600 [4194][][]故障 2.使用bbed处理 3.尝试启动数据库 1.模拟ORA-600 [4194][][]故障 ...
- (转)机器学习——深度学习(Deep Learning)
from:http://blog.csdn.net/abcjennifer/article/details/7826917 Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立 ...