什么是Fixture?
Fixture 其实就是自定义前面的前置和后置操作
一、Fixture 的优势?
fixture相对于 setup 和 teardown 有以下优势:
1、命名方式灵活,不局限于setup 和 teardown这几个命名
2、conftest.py 配置文件里可以实现数据共享,不需要import便可找到
3、scope = "module" 可以实现多个py跨文件共享前置,每一个py文件调用一次
4、scope = "session" 可以实现多个py跨文件使用一个session来完成多个用例
注释:
1、可以使用此装饰器(带或不带参)来定义fixture功能,fixture功能的名称可以在以后使用 (不带参数默认使用scope='function')
2、使用它会在运行测试之前调用它:test模块或类可以使用pytest.mark.usefixture (fixturename)来标记
3、测试功能可以直接使用fixture名称作为输入参数,在这种情况下,实例从fixture返回功能将被注入
二、Fixture 传入
实现场景:用例1需要先登录,用例2不需要登录,用例3需要先登录
如图,将fixture配置到conftest文件中,然后需要执行的用例去调用
ps :
#用例可以传多个 fixture (token,orderid等等)
#实现方式:
#预置条件:conftest文件中含有login_token,order_id的 fixture装饰器
def xx(login_token,order_id):
pass
# config 配置文件:
# 用例实现方式: