setUP和tearDown,setUpClass和tearDownClass

① setup():每个测试函数(方法)运行前运行
② teardown():每个测试函数(方法)运行完后执行
③ setUpClass():必须使用@classmethod 装饰器,所有test运行前运行一次

④ tearDownClass():必须使用@classmethod装饰器,所有test运行完后运行一次

setUp()和tearDown()这两个方法,每次执行一个测试用例(test开头的方法),就会执行一次setUp()和tearDown(),

导致执行多个测试用例时,会反复的打开浏览器操作,这个很浪费时间,且对于需要登录的用例更浪费时间

1. setUp,tearDown

setUp,tearDown:是对每一个用例(test开头的函数)的初始化和用例执行完成后的清理工作,一般用来关闭浏览器;在多个用例中,如果某个用例的元素定位或者其他出错,会阻止用例的继续运行。

2. setUpClass,tearDownClass

setUpClass,tearDownClass:是在执行用例之前初始化一遍,所有的用例执行完后再进行清理工作,并且在setUpClass和tearDownClass的上面添加@classmethod装饰器,如果某个用例的元素定位或者其他出错,不影响整个用例的执行工作;这样也许会更好一些,不用每次都去重新打开浏览器,节省测试时间,但要注意的是不要忽略了用例之间的相互影响,所以用这种模式要考虑到用例之前的耦合,尽可能不要让前个用例的测试环境影响后一个用例的执行。

参考文档1

https://www.cnblogs.com/yoyoketang/p/6685416.html

参考文档2:

https://www.cnblogs.com/insane-Mr-Li/p/9085062.html

参考文档3:

https://blog.csdn.net/maybe_frank/article/details/79352097

参考文档4:

https://www.cnblogs.com/bainianfengri/p/7251164.html

原文地址:https://www.cnblogs.com/yaoze2018/p/11312629.html

时间: 2024-10-09 03:08:46

setUP和tearDown,setUpClass和tearDownClass的相关文章

selenium+python+unittest:一个类中只执行一次setUpClass和tearDownClass里面的内容(可解决重复打开浏览器和关闭浏览器,或重复登录等问题)

unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际结果,检查程序的状态,生成测试报告. 且断言的话unittest框架很方便. 在这主要记录下setUp()和tearDown()这两个的问题,每次执行一个测试用例(test开头的方法),就会执行一次setUp()和tearDown(), 导致执行多个测试用例时,会反复的打开浏览器操作,这个很浪费时间

Python 单元测试 之setUP() 和 tearDown()

setUp:表示前置条件,它在每一个用例执行之前必须会执行一次 setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件. tearDown:表示释放资源,它在每次用例执行完之后会执行一次 tearDown可以理解为我们测试完毕后,需要关闭浏览器. 以下示例演示setUp和tearDown的执行顺序: #coding:utf-8import unittestclass Xseq(unittest.TestCase): def setUp(self): pr

httprunner学习12-hook 机制实现setup和teardown

前言 unittest框架里面有个非常好的概念:前置( setUp )和后置( tearDonw )处理器,真正会用的人不多. HttpRunner 实际上也是从用的unittest框架,里面也有前置 setup_hooks 和后置 teardown_hooks 的概念. setup_hooks: 在整个用例开始执行前触发 hook 函数,主要用于准备工作. teardown_hooks: 在整个用例结束执行后触发 hook 函数,主要用于测试后的清理工作. config添加hook机制 在co

Pytest系列(3) - setup和teardown的详细使用

如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 用过unittest的童鞋都知道,有两个前置方法,两个后置方法:分别是 setup() setupClass() teardown() teardownClass() Pytest也贴心的提供了类似setup.teardown的方法,并且还超过四个,一共有十种 模块级别:setup_module.teardown_module

Junit测试中的setup和teardown 和 @before 和 @After 方法

这几天做Junit测试接触到了setup和teardown两个方法,简单的可以这样理解它们,setup主要实现测试前的初始化工作,而teardown则主要实现测试完成后的垃圾回收等工作. 需要注意的是Junit3中每个测试方法执行时都会执行它们,而不是一个类中执行一次,查了查资料,JUnit4版本采用注解的方式可以实现一个类只执行一次,下面看看测试代码: jar下载地址: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20

4.pytest中固定装置setup和teardown

pytest提供了不同级别的setup和teardown,来完成测试中前置和后置的操作. 1.函数级别:setup_function/teardown_function def test_source(): print('##### 打印功能 #####') def setup_function(): print('----- 开始打印 -----') def teardown_function(): print('----- 结束打印 -----') 2.类级别:setup_class/tea

pytest 用 @pytest.mark.usefixtures("fixtureName")或@pytest.fixture(scope="function", autouse=True)装饰,实现类似setup和TearDown的功能

conftest.py import pytest @pytest.fixture(scope="class") def class_auto(): print("") print("class-begin") yield print("class-end") test_autouse.py 1 import pytest 2 3 4 @pytest.mark.usefixtures("class_auto"

python之单元测试——BeautifulReport

前置条件:把BeautifulReport文件解压后拷贝到External Libraries->site-packages里面 import unittestfrom BeautifulReport import BeautifulReportdef calc(x,y): return x+y class TestCalc(unittest.TestCase): def test_pass_case(self): '''这是成功的用例''' #上面一行是注释,显示在测试报告的用例描述列,不能用

python--setUp()和tearDown()应用

setUp:表示前置条件,它在每一个用例执行之前必须会执行一次  setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件. tearDown:表示释放资源,它在每次用例执行完之后会执行一次 tearDown可以理解为我们测试完毕后,需要关闭浏览器. 以下示例演示setUp和tearDown的执行顺序: #coding:utf-8 import unittest class Xseq(unittest.TestCase): def setUp(self):