1、介绍与使用场景
conftest.py 这个是什么呢? 顾名思义,他就是一个文件,那这个文件是干什么用的呢? 在我们上文中,用了fixture函数是直接在用例的文件里定义的,那不能我们所有的用例想用到fixture都一个个定义吧,所以Pytest提供了一个conftest.py文件,这样呢,就可以把我们的fixture函数存放到这里 有人会问,我们用这个,具体可以干啥呢? 举个例子,我们做ui自动化,首先第一步会登录获取token,然后接着其他操作,在其他操作前都有登录这个功能,所以其他操作就是一个个用例函数,而登录获取token就可以前置,然后使用fixture函数,那这个函数就可以用到conftest.py文件 当然,既然是别人封装好的功能,那肯定有对应的规则,conftest.py文件也有他的规则- conftest.py文件名字是固定的,不可以做任何修改
- conftest.py文件和用例文件在同一个目录下,那么conftest.py作用于整个目录
- conftest.py文件所在目录必须存在__init__.py文件
- conftest.py文件不能被其他文件导入
- 所有同目录测试文件运行前都会执行conftest.py文件
2、实战环节
我们还是直接看实战吧 首先创建目录: conftest.py文件代码:import pytests @pytest.fixture(scope='class') def set(): print("用例前的登录操作")
test_01.py文件代码:
class Test_Demo1(): def test_01(self, set): print('用例-搜索功能执行') def test_02(self, set): print('用例-输入功能执行')
test_02.py文件代码:
class Test_Demo1(): def test_01(self, set): print('用例-购买功能执行')
这里在做实战的时候,作者犯了两个错误: 第一个没有__init__文件 第二个是没有在用例函数中引入fixture参数名 我们执行下结果看下: 标签:文件,PlayWright,py,fixture,用例,conftest,Pytest,test From: https://www.cnblogs.com/nuomituan/p/17565916.html