入门8-Pytest部分测试用例的前后置(fixture)(1-参数详解)

发布时间 2023-05-08 22:24:15作者: 蜗牛果果

使用fixture

@pytest.fixture(scope=”function”,autouse= False, params=loginutil(),ids=[0,1,2],name="login")

各个参数详解

Scope:作用域

              Function: 用例之前和之后

         Class: 类之前和之后

    Package/session :#整个项目会话之前和之后

Function:

-          手动方式,在测试用例参数里加入fixture的名称

-          Fix通过return或yield返回的话,则可以通过固件名字传递到测试用例当中

Class:

-          手动调用 @pytest.mark.userfixture(“fixture名称”)

Package/session               

-          一般结合conftest.py文件来实现

Autouse = True  #自动执行,所有用例自动执行,默认是False

@pytest.fixture(scope=”function”)

def exe_database_sql():
print(“”) #之前执行

yield

print(“”) #之后执行

Class TestMashang():
              def test_yiran(self, exe_database_sql): #会执行部分前置内容

Params: 实现参数化

-          def exe_runcase(request):

print(request.param)

#request 和request.param是固定用法,会按照参数逐个执行

 Ids: 不能单独使用,必须和param一起使用,作用是给参数起别名

name: 给fixture取别名

scope=”function”autouse= False, params

实例:

 执行结果result

 

如果希望另外一个py文件中执行,则需要跟contest.py文件的使用,见下一章节