一、conftest.py的特点
1、可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture
2、conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件
3、不需要import导入 conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了,如果放到某个package下,那就在该package内有效,可有多个conftest.py
4、conftest.py配置脚本名称是固定的,不能改名称
5、conftest.py文件不能被其他文件导入
6、所有同目录测试文件运行前都会执行conftest.py文件
二、conftest.py的使用场景
1、每个接口需共用到的token
2、每个接口需共用到的测试用例数据
3、每个接口需共用到的配置信息
三、conftest.py的生效范围
一个工程下可以建多个conftest.py的文件,一般在工程根目录下设置的conftest文件起到全局作用。在不同子目录下也可以放conftest.py的文件,作用范围只能在该层级以及以下目录生效。如图,下面的conftest.py文件全局生效,crm目录下的conftest.py文件只对crm下的测试用例生效。
四、fixture调用的方法
1.装饰器@pytest.mark.usefixtures("start")
2.直接在用例里面调用fixture装饰的方法当作参数输入def test_demo(self,start)
3.设置fixture参数autouse=True