这些是之前的文章,里面有一些基础的知识点在前面由于前面已经有写过,所以这一篇就不再详细对之前的内容进行描述
Python自动化测试实战篇(1)读取xlsx中账户密码,unittest框架实现通过requests接口post登录网站请求,JSON判断登录是否成功
Python自动化测试实战篇(2)unittest实现批量接口测试,并用HTMLTestRunner输出测试报告
Python自动化测试实战篇(3)优化unittest批量自动化接口测试代码,ddt驱动+yaml实现用例调用,输出HTMLTestRunner测试报告
Python自动化测试实战篇(4)selenium+unttest+ddt实现自动化用例测试,模拟用户登陆点击交互测试,Assert捕获断言多种断言
Python自动化测试实战篇(5)优化selenium+unittest+ddt,搞定100条测试用例只执行前50条
Python自动化测试实战篇(6)用PO分层模式及思想,优化unittest+ddt+yaml+request登录接口自动化测试
Python自动化测试实战篇(7),初识pytest做一个简单的接口测试,allure输出可视化测试报告
1.什么是是自动化测试环境初始化与清除
每一次进行自动化测试之前都需要对测试环境进行一个初始化,以确保测试环境的一致性与可靠性,每次测试完成之后,需要对测试环境进行清除,为下一次测试做准备,避免测试环境不一致导致测试结果不准确,提高测试的可重复性和准确性。
2.自动化测试环境初始化与清除有哪些步骤?
3.pytest中如何进行用例初始化与清洗方法
1.类内用例初始化与清洗
方法级别初始化、清除
就是setup初始化
teardown清除环境
import pytest
class Test():
def setup(self):
print("用例初始化")
def teardown(self):
print("用例清除")
def test_1(self):
print("第一个用例")
if __name__ == '__main__':
pytest.main(["-s", "1.py"])
2.模块级别
模块级别内容就是所有模块
都执行全局方法setup_module作为初始化
teardown_module作为清除环境
def setup_module():
print("用例初始化")
def teardown_module():
print("用例清除")
import pytest
def setup_module():
print("用例初始化")
def teardown_module():
print("用例清除")
class Test():
def test_1(self):
print("第一个用例")
class Test_01():
def test_2(self):
print("这是第二个模块用例")
if __name__ == '__main__':
pytest.main(["-s", "1.py"])
3.类级别
定义一个类方法 setup_class(testmod)和 teardown_class(testmod)
这个方法只针对当前类进行执行一次的操作,后续不执行该操作
import pytest
class Test_01():
@classmethod
def setup_class(testmod):
print("用例初始化")
@classmethod
def teardown_class(testmod):
print("用例清除")
def test_1(self):
print("第一个用例")
class Test_02():
def test_2(self):
print("这是第二个模块用例")
if __name__ == '__main__':
pytest.main(["-s", "1.py"])
4.函数级别
函数级别方法setup_function()初始化
teardown_function()进行清除
import pytest
def setup_function():
print("用例初始化")
def teardown_function():
print("用例清除")
def test_class():
print("类外测试")
if __name__ == '__main__':
pytest.main(["-s", "1.py"])
5.方法级别
方法级别初始化setup_method(self)
清洗teardown_method(self)
import pytest
class Test():
def setup_method(self):
print("方法级别初始化")
def teardown_method(self):
print("方法级别清洗")
def test_01(self):
print("测试用例")
if __name__ == '__main__':
pytest.main(["-s", "1.py"])