一、fixture结合contest.py文件使用
1、conftest.py
用于存放fixture
的配置文件。名称是固定的。
2、在conftest.py
文件里面所有方法在调用时都不需要导包
3、conftest.py
文件可以有多个,且多个conftest.py
文件里的多个fixture
可以被一个用例调用。(即在不同的用例package中也可以建conftest.py文件实现调用,而根目录下就是所有用例都可以调用的)
在根目录下新建conftest.py
文件
然后我们把fixture相关代码剪切到conftest.py
文件中
把红框中的代码剪切到contest.py
中。
然后执行,发现还是可以跑通。在conftest.py
文件中可以写多个fixture装饰器方法。在其他文件调用时不需要导包即可实现调用。
二、优先级问题
fixture
的session
优先级最高
fixture
的class
级别高于setup_class
,也就是先执行fixture
的scope="class"
代码
fixture
的function
级别高于setup
,即先执行fixture
的scope="function"
代码
三、pytest的执行过程
1、查询根目录下的conftest.py
文件
2、查询根目录下的pytest.ini
文件,找到测试用例的配置
3、查询目录下的conftest.py
文件
4、查询用例中是否有setup
、teardown
、setup_class
、teardown_class
5、根据pytest.ini
配置的测试用例执行规则去执行测试用例