APP自动化-conftest

我们知道在python中要想实现数据的共享,可以定义一个“全局变量”,在另一个文件中使用的时候通过先导入,再使用的方式来访问。pytest中定义个conftest.py来实现数据,参数,方法、函数的共享。
conftest.py 的文件名称是固定的, pytest 会自动识别该文件,我们可以理解成一个专门存放 fixture 的配置文件。一个工程下可以建多个 conftest.py 文件,一般我们都是在工程根目录下设置的 conftest 文件,这样会起到一个全局的作用。 我们也可以在不同的子目录下放 conftest.py ,这样作用范围只能在该层级的子目录下生效。

总而言之:conftest.py文件是Pytest特有配置文件,只能用来做如下三个功能:

设置项目和fixture
导入外部插件
指定钩子函数
conftest特点
1、conftest.py可以跨.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文件
————————————————
版权声明:本文为CSDN博主「止语---」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rhx_qiuzhi/article/details/124973716

 

这里运行在testcase目录下,在此目录下建立一个conftest.py的文件,

然后导入pytest(必须步骤)

import pytest

如果要把数据输送给用例,那么一定要构建函数,如下图:

先构建pytest的装饰器,fixture

装饰器下构建函数,driver,里面放remote的链接信息和WebdriverWait方法。

用例里的函数传参为conftest里装饰器下的driver函数,这里的driver是调用conftest中的函数driver()

因为driver函数返回了两个值driver和wait,所以接受下,

设置driver,wait = driver

 因为用例中还用到了ec和By,所以还需要再建立能引用BY和ec的函数,如下如,

 

posted @ 2023-05-15 18:09  琉璃星眸  阅读(42)  评论(0编辑  收藏  举报