Pytest学习之 autouse=True,自动调用fixture功能

'''
平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。
fixture里面有个参数autouse,默认是Fasle没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了

设置autouse=True
autouse设置为True,自动调用fixture功能
start设置scope为module级别,在当前.py用例模块只执行一次,autouse=True自动使用[图片]open_home设置scope为function级别,
每个用例前都调用一次,自动使用
'''

import pytest

@pytest.fixture(scope="module",autouse=True)
def start(request):
print("\n----开始执行module------")
print('module : %s'% request.module.__name__)
print('------启动浏览器-------')
yield
print("------结束测试 end!----------")

@pytest.fixture(scope="function",autouse=True)
def open_home(request):
print("function:%s \n--回到首页--"% request.function.__name__)

def test_01():
print('----用例01-----')

def test_02():
print('----用例02-----')

if __name__ == '__main__':
pytest.main(["-s","autouse.py"])

'''
执行结果

----开始执行module------
module : autouse
------启动浏览器-------
function:test_01
--回到首页--
.----用例01-----
function:test_02
--回到首页--
.----用例02-----
------结束测试 end!----------

'''

猜你喜欢

转载自www.cnblogs.com/nuonuozhou/p/10430943.html
今日推荐