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

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

  学习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

最新文章

  1. NanUI for Winform 使用示例【第一集】——山寨个代码编辑器
  2. 在AndroidStudio v1.2.0中导入或增加新项目或工程(导入第三方类库或工程)
  3. hadoop 2.6伪分布安装
  4. r0遍历系统进程方法总结
  5. 微博开发平台java SDK demo学习之examples(demo)
  6. 动态创建dom元素
  7. Hibernate四 批量处理
  8. (极简)linux安装QT4.7.3
  9. AI 人工智能 探索 (二)
  10. java实现FFT变换(转)
  11. Spring @Transactional使用的示例
  12. Javaweb向服务器上传文件以及从服务器下载文件的方法
  13. Caused by: java.net.ConnectException: Call From master/192.168.199.130 to master:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.
  14. Zabbix实战-简易教程(6)--Server端高可用
  15. NancyFX 第九章 Responses(响应对象)
  16. 封装的通过微信JS-SDK实现自定义分享到朋友圈或者朋友的ES6类!
  17. 【worker】js中的多线程
  18. 6个小而美的es6新特性
  19. 牛客网noip集训4
  20. 初试kotlin:用Kotlin开发桌面/CommandLine 工具

热门文章

  1. Cisco ASA防火墙恢复密码和基本配置
  2. VMvare虚拟机的安装及新建虚拟机(一)
  3. Docker部署netdata 性能实时监控
  4. vue将地区以对象、数组的格式传给后端
  5. openframeworks 设置不显示控制台窗口
  6. JavaScript案例:倒计时
  7. net core swaagger ui 报 Failed to load API definition错误
  8. Java中创建线程的方式和线程中常用方法?
  9. blog2对PTA4,5,6集的习题总结
  10. SQL Server修改表的时候出现错误:未更新任何行,未删除任何行