pytest----fixture--使用fixture执行配置及销毁逻辑

Posted qastudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest----fixture--使用fixture执行配置及销毁逻辑相关的知识,希望对你有一定的参考价值。

1使用fixture执行配 置及销毁;非常灵活 使用。
2数据共享:在 conftest.py配置里写方 法可以实现数据共享, 不需要import导入。可 以跨文件共享
3scope的层次及神 奇的yield组合相当 于各种setup 和teardown
 
使用fixture执行配置及销毁逻辑
场景:测试用例执行时,有的用例的数据保存在数据库中,需要先连 接数据库再执行测试用例,最后停止数据库的连接。setup和teardown 可以实现。fixture可以灵活命名实现。默认scope(范围)function

• 步骤:
1. 导入pytest

2. 在登陆的函数上面加@pytest.fixture()

3. 在要使用的测试方法中传入(登陆函数名称),就先登陆 4. 不传入的就不登陆直接执行测试方法。

 

@pytest.fixture()
def login():
print("\n输入用户名密码登陆")

def test_cart(login):
print(‘用例1,登陆后执行添加购物车功能操作‘)

def test_search():
print(‘用例2,不登陆查询功能操作‘)

def test_pay(login):
print(‘用例3,登陆后执行支付功能操作

pytest_fixture.py::test_cart
输入用户名密码登陆
PASSED [ 33%]用例1,登陆后执行添加购物车功能操作

pytest_fixture.py::test_search PASSED [ 66%]用例2,不登陆查询功能操作

pytest_fixture.py::test_pay
输入用户名密码登陆
PASSED [100%]用例3,登陆后执行支付功能操作

 

以上是关于pytest----fixture--使用fixture执行配置及销毁逻辑的主要内容,如果未能解决你的问题,请参考以下文章

Pytest

pytest-fixture

pytest文档23-使用多个fixture和fixture直接互相调用

pytest文档23-使用多个fixture和fixture直接互相调用

pytest-23-使用多个fixture和fixture直接互相调用

pytest10-使用request参数化fixture