类似setup和teardown
1.要使用fixture,需要用装饰器被引用的用@pytest.fixture,引用的用@pytest.mark.usefixtures(‘test1’)
2.fixture自动应用方式@pytest.fixture(sutouse=True),会应用于所有方法
3.如果要返回值,需要传fixture函数名
4.scope:作用域(session,package,module,class,function(默认))
@pytest.fixture(scope=module")
5.--setup-show回溯fixture执行过程
pytest --setup-show test_fixture.py
pytest test_fixture.py -vs
参数详解:
-s: 表示输出调试信息,包括print打印的信息
-v: 显示更详细的信息
-vs:两个参数一起用
-n:支持多线程或分布式运行用例
如:pytest -vs ./testcase/test_login.py -n 2
-return NUM:失败用例重跑,num失败后重跑的次数
-x:表示只要有一个用例报错,那么测试停止
作者:桔Bu
链接:https://www.jianshu.com/p/db2addd23a26
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
return --> yield--生成器
@pytest.fixture(scope="module")
def login():
print(“登陆”)
yield "token"#激活后面的操作,后面的操作相当于teardown
print("登出")
setup和teardown在测试例执行的前后执行,fixture在执行测试用例时执行
合作共用时使用conftest,conftest.py是初始化文件,在py文件中调用写在conftest中的fixture,不需要导入
conftest同目录需要有__init__.py
conftest优先调用同级目录conftest,无则往上一级找,即父节点,不会往兄弟节点找