scope:控制fixture的作用范围,默认取值function,控制范围排序:session > module > class > function
-session,会话级,是多个文件调用一次,可以跨.py文件调用,每个.py文件就是module
-module,模块级,每一个.py文件调用一次,该文件内又有多个function和class
-class,类级别,每一个类调用一次,一个类中可以有多个方法
-function,函数级,每一个函数或方法都会调用
作用范围举例:
-function:
-class:
-module:
-session:
params:fixture的可选形参,支持列表传入
默认None
fixture都会调用执行一次,类似for循环
可与参数ids一起使用,作为每个参数的标识,详见ids
被Fixture装饰的函数要调用是采用:request.param(固定写法)
ids:用例标识id,与params配合使用,一对一关系
autouse:默认False,若为True,则每个测试函数都会自动调用该fixture,无需传入fixture函数名
调用fixture的几种方式:
1、函数或类里面方法直接传fixture的函数参数名称
2、使用装饰器@pytest.mark.usefixtures()修饰
3、autouse=True自动调用,无需传仍何参数,作用范围跟着scope走
Name:fixture重命名
通常来说使用 fixture 的测试函数会将 fixture 的函数名作为参数传递,但是 pytest 也允许将fixture重命名
如果使用了name,那只能将name传入,函数名不再生效