随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

#------------------------------------------------我是可耻的分割线-------------------------------------------

在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败。unittest提供了实现这些需求的装饰器。

unittest.skip(reason)  无条件地跳过装饰的测试,说明跳过测试的原因。

unittest.skipIf(condition,reason)  跳过转世的测试,如果条件为真时。

unittest.skipUnless(condition,reason)  跳过转世的测试,出发条件为真。

unittest.expectedFailure()  测试标记为失败。不管执行结果是否失败,统一标记为失败。

新建test.py

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):
self.assertEqual(2,3) if __name__ == '__main__':
unittest.main()

运行结果:

上例中共创建了4条测试用例。第一条测试用例通过@unittest.skip()装饰,直接跳过不执行。第二条用例通过@unittest.skipIf()装饰,当条件为真时不执行,3>2条件为真(True),跳过不执行。第三条用例@unittest.skipUnless()装饰,当条件为真时执行,判断3 > 2条件为真(True),第三条用例执行。第四条用例通过 @unittest.expectedFailure装饰,不管执行结果是否失败,同意标记为失败,但不会抛出错误信息。

当然,这些方法同样可以作用域测试类,只需将它们定义在测试类上面即可。

@unittest.skip("直接跳过测试")
class MyTest(unittest.TestCase):
def setUp(self):
pass

(四十二)Unittest单元测试框架之关于unittest还需要知道的-跳过测试和预期失败的更多相关文章

  1. python:unittest之跳过测试和预期失败的用例

    在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能. 前面的博客介绍了unittest框架的测试用例加 ...

  2. Selenium(十五):unittest单元测试框架(一) 初识unittest

    1. 认识unittest 什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误.在python语言下 ...

  3. python单元测试框架-unittest(五)之跳过测试和预期失败

    概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...

  4. unittest跳过测试和预期失败

    在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了这些需求的装饰器. unittest.skip(reason) 无条 ...

  5. Selenium(十六):unittest单元测试框架(二) 初识unittest(续)

    1. 认识unittest(续) 关于unittest单元测试框架,还有一些问题值得进一步探讨.你可能在前一章的学习过程中产生了一些疑问,也许你会在本节中找到答案. 1.1 用例执行的顺序 用例的执行 ...

  6. Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架

    一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  7. unittest单元测试框架

    unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...

  8. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型

    1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  9. Python+selenium之简单介绍unittest单元测试框架

    Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...

  10. 虫师Selenium2+Python_7、unittest单元测试框架

    P173--通过unittest单元测试框架别写测试用例 from calculator import Count import unittest   class TestCount(unittest ...

随机推荐

  1. 2022-05-31内部群每日三题-清辉PMP

    1.由于项目执行期间的范围变更,项目经理确定供应商必须对一个已在使用的产品模块进行更改.项目经理首先做什么? A.准备一份变更请求,以更新供应商的合同条款 B.检查采购管理计划和合同条款 C.将该信息 ...

  2. API的风格

    好奇怪呀,感觉所有风格不都差不多嘛 1.REST REST(REpresentational State Transfer),首次出现在 2000 年 Roy Thomas Fielding 的博士论 ...

  3. 076_Master Detail 与Lookup

  4. web基础(7): JavaScript 简介/语法

    chapter4 JS简介 JS 可以实现表单验证(比如填写简历时,必要的项目是否已经填写).返回顶部.小游戏.网页特效等. JS 的开发工具 Hbuilder 官网www.dcloud.io, 能快 ...

  5. ENGG1310 P2.1 Intro to CE Computer Systems, Programming & Networking

    课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self-use, do not include any assignments or exams H/W & ...

  6. SQL server 去掉重复数据

    只要数据表"列名"数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长). 推荐使用方法一 -- 方法一 select * from 表名 A where not exis ...

  7. SDN之Openflow+OpenDayLight课程开课通知

    内容简介: 该课程为期2天,在这两天里 我们将会深入体会SDN的特点与传统网络的区别 ,掌握SDN架构里各层的协议用途,Openflow作为sdn里的一款开源的南向协议,最大的意义体现在它实现了网络设 ...

  8. Firefox几个必备的插件

    翻译网页 使用 Google 或 Yandex 实时翻译您的页面. Dualsub 通用字幕渲染器 Gesturefy 具有大量自定义功能的鼠标手势扩展,令浏览和操作更加便捷迅速. AdBlocker ...

  9. ubuntu亲测安装opencv和成功解决Makefile:160: recipe for target 'all' failed make: *** [all] Error 2

    1.因为项目需要,我安装的是opencv3.0.0,从github上面下载的opencv包 git clone https://github.com/Itseez/opencv.git git clo ...

  10. 前端导出文件流[object Object]

    情景:后台返回文件流,前端导出. 参照网上的文章配置responseType:'blob' :blob导出文件乱码_前端小菜鸟__简单的博客-CSDN博客_blob导出乱码 后台管理项目blob导出文 ...