Pytest框架之conftest.py

pytest零基础入门到精通(04)conftest文件详解 conftest文件详解conftest的作用yield实现teardownyield+with的结合addfinalizer终结函数 conftest的作用 首先, conftest.py 的文件名称是固定的, pytest 会自动识别该文件,我们可以理解成一个专门存放 fixture 的配置文件。 一个工程下可以建多个 conftest.py 文件,一般我们都是在工程根目录下设置的 conftest 文件,这样会起到一个全局的作用。 我们也可以在不同的子目录下放 conftest.py ,这样 阅读详情

conftest.py是什么?

conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。

conftest.py使用场景

如果我们有很多个前置函数,写在各个py文件中是不很乱?再或者说,我们很多个py文件想要使用同一个前置函数该怎么办?这也就是conftest.py的作用

conftest.py使用原则

conftest.py这个文件名是固定的,不可以更改。
conftest.py与运行用例在同一个包下,并且该包中有__init__.py文件使用的时候
不需要导入conftest.py,会自动寻找。

conftest.py使用举例

创建如下目录:

ConftestFile
    |conftest.py
    |test_file_01.py
    |test_file_02.py
    |__init__.py
# conftest.py
import pytest
@pytest.fixture()
def login():  
  print('\n---------------conftest文件login方法开始执行----------------------------')
  print('login in conftest.py')
  print('----------------conftest.py文件login方法执行结束---------------------------')
# test_file_01.py
def test_01(login):
  print('\n------------------用例文件1测试用例1开始执行------------------')
  print('login after : in test_file_01->case test_01')
  print('-------------------用例文件1测试用例1执行结束------------------------')
# test_file_02.py
def test_02(login):
  print('\n------------------用例文件2测试用例2开始执行------------------')
  print('login after : in test_file_01->case test_01')
  print('-------------------用例文件2测试用例2执行结束------------------------')

我们先来运行一下这个实例代码看看输出结果

test_file_01.py 
---------------conftest文件login方法开始执行----------------------------
login in conftest.py
----------------conftest.py文件login方法执行结束---------------------------
.
------------------用例文件1测试用例1开始执行------------------
login after : in test_file_01->case test_01
-------------------用例文件1测试用例1执行结束------------------------
                                                        [ 50%]
test_file_02.py 
---------------conftest文件login方法开始执行----------------------------
login in conftest.py
----------------conftest.py文件login方法执行结束---------------------------
.
------------------用例文件2测试用例2开始执行------------------
login after : in test_file_01->case test_01
-------------------用例文件2测试用例2执行结束------------------------
                                                        [100%]

========================== 2 passed in 0.04 seconds ===========================

可以看到每个测试文件的测试用例执行前都执行了conftest.py文件中的login方法,通过这种模式我们就可以实现测试用例前置条件的准备工作了!

conftest文件实际应用中需要结合fixture来使用,那么fixture中参数scope也适用conftest中fixture的特性,这里再说明一下

1.conftest中fixture的scope参数为session,那么所有的测试文件执行前执行一次

2.conftest中fixture的scope参数为module,那么每一个测试文件执行前都会执行一次conftest文件中的fixture

3.conftest中fixture的scope参数为class,那么每一个测试文件中的测试类执行前都会执行一次conftest文件中的fixture

4.conftest中fixture的scope参数为function,那么所有文件的测试用例执行前都会执行一次conftest文件中的fixture

总结

下面是我总结的特性,希望对大家有帮助吧!

1.conftest.py文件名字是固定的,不可以做任何修改

2.文件和用例文件在同一个目录下,那么conftest.py作用于整个目录

3.conftest.py文件所在目录必须存在__init__.py文件

4.conftest.py文件不能被其他文件导入

5.所有同目录测试文件运行前都会执行conftest.py文件

总而言之

软件测试是一个不断学习不断更新的工作,我们都需要时刻准备接受新的知识!

PS:最后还是附上我们的[QQ交流群]:516846105 真心希望所有对测试感兴趣,想入门,想提升自己测试能力的小伙伴加入!

pytest测试之conftest详解 Conftest是一个Python测试框架,它是pytest的一个组件,用于配置测试环境和参数。通过Conftest,我们可以创建一个可复用的测试配置文件,以便在多个测试模块之间共享配置信息。Conftest非常适合用于管理大型项目中的测试环境,可以提高测试的可维护性和可读性。Conftest是一个强大的测试配置工具,可以帮助我们更好地管理大型项目中的测试环境。通过使用Conftest,我们可以创建可复用的测试配置,提高测试的可维护性和可读性。在测试用例中,可以使用。在测试用例中,可以使用。 阅读详情

相关推荐

十二、Pytest框架 — conftest.py文件的使用

文件是Pytest框架里面一个很重要的东西,它可以在这个文件里面编写Fixture函数,这个Fixture函数的作用,就相当于Unittest框架里面的前置函数和后置函数,虽然Pytest框架也有前置函数和后置函数,但是在实际工作中没必要写在测试用例文件中,直接写在里面就好了,Pytest框架会自动去找文件里面的东西,这样更灵活。 总结:在实际工作中,通常和结合使用,实现全局的前后置应用。(1)测试框架的根目录或者包中创建文件 (2)测试用例文件如下 4、不同位置conftest.py文件的优先级

测试-八戒 1480

pytest系列—conftest.py配置文件

conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。如果我们有很多个前置函数,写在各个py文件中是不很乱?再或者说,我们很多个py文件想要使用同一个前置函数该怎么办?这也就是conftest.py的作用conftest.py这个文件名是固定的,不可以更改。conftest.py与运行用例在同一个包下,并且该包中有__init__.py文件使用的时候。

mashang_z111的博客 4239

Pytest框架 — conftest.py文件的使用

文件是Pytest框架里面一个很重要的东西,它可以在这个文件里面编写Fixture函数,这个Fixture函数的作用,就相当于Unittest框架里面的setup()前置函数和teardown()后置函数,虽然Pytest框架也有setup()前置函数和teardown()后置函数,但是在实际工作中没必要写在测试用例文件中,直接写在里面就好了,Pytest框架会自动去找文件里面的东西,这样更灵活。总结:在实际工作中,通常和结合使用,实现全局的前后置应用。Pytest框架中的函数,函数。

测试-八戒 1246

pytest教程-13-conftest.py文件

上一小节我们学习了fixture的作用域,本小节我们学习一下pytest conftest.py文件的使用方法。

米兔软件测试 4091

『德不孤』Pytest框架 — 13、Pytest框架conftest.py文件

文章目录1、conftest.py文件介绍2、conftest.py的注意事项3、conftest.py的使用4、不同位置conftest.py文件的优先级5、conftest.py中Fixture(夹具)的作用域6、总结: 1、conftest.py文件介绍 conftest.py文件是Pytest框架里面一个很重要的东西,它可以在这个文件里面编写Fixture函数,这个Fixture函数的作用,就相当于Unittest框架里面的setup()前置函数和teardown()后置函数,虽然Pytest框架也

繁华似锦Fighting 495

pytest_框架(7) -- fixture跨模块共享(conftest.py)

模块级别的fixture: 在conftest.py中定义的fixture默认具有模块级别的作用域,即意味着他们会为该模块中的所有测试用例执行一次,你可以通过置顶不同的scope参数来改变这个行为-- function、class、session。控制测试并执行: 若使用的pytest-xdist 插件来并行执行测试, conftest.py 中的fixture 可以被用来控制并行测试的行为,例: 通过scope= 'module' 来确保每个模块的测试在单独的进程中执行。

Maynes的博客 2276

pytest合集(11)— conftest.py文件

通过在conftest.py文件中定义夹具,你可以提供测试所需的初始化数据和对象,并使其在测试文件中可用。此外,conftest.py文件也可以定义钩子函数,用于在测试执行的不同阶段插入自定义的行为。这样可以扩展和定制pytest的行为,实现特定的测试需求和额外的操作。当pytest运行时,它会自动搜索项目中的conftest.py文件,并根据其中的定义来加载夹具和钩子函数。conftest.py文件是pytest框架中的一个特殊文件,用于定义共享的设置、夹具(fixture)和钩子函数(hook)。

个人博客 1773

Jenkins插件下载慢?3分钟搞定国内镜像加速(含华为/腾讯/清华源对比)

本文详细介绍了如何通过国内镜像源加速Jenkins插件下载,包括华为云、腾讯云和清华源等主流镜像站的性能对比及一键配置方案。通过实测数据展示华为云镜像站表现最佳,下载速度达19.4MB/s,并提供sed命令、管理界面配置和Docker定制三种高效加速方案,帮助开发者快速解决插件下载慢的问题。

sql99的博客 320

pytest框架_conftest.py详解

conftest.py简介

因热爱而坚持,因坚持而愈发热爱。 5074

MATLAB机械臂建模实战:标准D-H法与改进D-H法到底选哪个?(附代码对比)

本文深入解析MATLAB中机械臂建模的标准D-H法与改进D-H法的本质区别,提供详细的代码对比和可视化结果。通过实际案例,帮助读者根据应用场景选择合适方法,并避免常见建模陷阱。特别关注Link函数和SerialLink工具的使用技巧,提升机械臂建模效率。

grape的博客 1121

Sparse4Dv3 代码复现

打包数据集的元信息和标签,并生成所需的.pkl文件。最后还输出了很多跟踪相关的东西...然后通过K-means生成锚点。编译可变形聚合CUDA算子。安装motmetrics。

m0_60857098的博客 4489

Pytest框架之 - conftest.py

conftest.py是什么? 可以理解成专门存放fixture的配置文件,单独管理一些全局的fixture 运用场景 自动化测试过程中所有用例都需要用登录功能来作为前置操作, 那就可以把登录功能通过fixture写到conftest.py, 全局调用 注意事项 1. pytest会默认读取conftest.py里面的所有fixture 2. conftest.py 文件名称是固定的,不能修改 3. conftest.py只对该目录下的测试用例与子目录中的测试用例生效 4. 不同目录可.

SitVen 513

【机器学习系列】一文搞懂 零知识机器学习(zkML)

位串行乘法器:实现了Booth编码优化,将乘法分解为移位-加法序列,减少部分积数量50%:模拟脉动阵列的2D网格计算,支持分块(tiling)策略优化内存层次卷积映射:提供直接卷积(行缓冲+滑动窗口)和im2col+GEMM两种硬件映射策略。

VectorShift的博客 157

【pytest】Pytest框架 conftest.py文件的使用详解

文件是Pytest框架里面一个很重要的东西,它可以在这个文件里面编写Fixture函数,这个Fixture函数的作用,就相当于Unittest框架里面的setup()前置函数和teardown()后置函数,虽然Pytest框架也有setup()前置函数和teardown()后置函数,但是在实际工作中没必要写在测试用例文件中,直接写在里面就好了,Pytest框架会自动去找文件里面的东西,这样更灵活。总结在实际工作中,通常和结合使用,实现全局的前后置应用。Pytest框架中的函数,函数。文件和https。...

m0_60255218的博客 6160

AI Agent开发第49课-DIFY让AI自动预约排班后发企业微信通知-MongoDb-Redis-企业微信调用

我们的Dify会讲得很透彻,坚持喂饭级教程,从一个基本的AI自动预约客户到自动记录客户的信息再到自动判断下一步如何走全部是AI化的,这是一个真正的AI原生应用,它来自于我的一个大型物业公司用AI自动预约系统中的一部分。我们会使用这个预约流做完整的Dify例子来讲完,因为它太有代表性了。工作流中的控制反转、AI决策下一步怎么走、人为干涉、用户行为判断、外部中间件如Redis,今天我们就要讲到在Dify中调用MongoDB的数据以及企业微信通知来作为预约派单的最后一步了。

打造全国最全的AI Agent开发知识领域的博客 1755

YOLO+OpenCV强强联手:高精度跌倒检测技术实战解析

(0, 1), (0, 2), (1, 3), (2, 4), # 脖子和头部(3, 5), (5, 6), (5, 7), (7, 9), (5,11),# 左臂(4,6), (6, 12), (6,8) ,(8,10),# 右臂(11, 12), (11, 13), (13, 15), #左腿(12, 14), (14, 16) #右腿keypoints是检测到的人体关键点数据,frame是图像帧,boxes是检测到的边界框信息。定义了人体关键点之间的连接关系,用于绘制人体骨架。

yolo模型训练找我,AI游戏合作找我 2316

Pytest框架学习20--conftest.py

conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了,如果放到某个package下,那就在该package内有效,可有多个conftest.py。conftest.py可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用一次fixture,或调用多次fixture。例如,所有用例都需要登录,可以在conftest中编写后,不用导入其他用例文件,可以直接在每个方法前调用。需要先在一个新文件中编写函数等,然后在使用的文件中导入,然后使用。

铁马冰河入梦来 669

宇瞳杯视讯镜头完成版(除公差/鬼像分析)

宇瞳杯视讯镜头完成版(除公差/鬼像分析)

weixin_72050316的博客 1049

pytest框架笔记(三) : fixture之conftest.py

一、fixture优势 1、fixture相对于setup和teardown来说应该有以下几点优势: 命名方式灵活,不局限于setup和teardown这几个命名 conftest.py配置里可以实现数据共享,不需要import就能自动找到一些配置 scope="module"可以实现多个.py跨文件共享前置 scope="session"以实现多个.py跨文件使用一个session来完...

BearStarX的博客 2770

claude-hub:GitHub上的AI开发助手,让Claude自动帮你写代码、审代码、合代码

代码不再是人写的,而是人引导 AI 写的。在这个时代,GitHub 不再只是一个代码托管平台,而是 AI 开发代理的工作台。每一个 issue、每一条 PR,都可能是一次与 AI 合作的机会。未来属于那些敢于把开发流程交给 AI 来优化的人——他们不是在取代自己,而是在放大自己的影响力。📌关注本系列文章,我们将持续输出关于 AI 编程、GitHub 自动化、AI Agent 产品化的深度分析。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 1373

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Pytest框架【6】:fixture--conftest.py

说明: conftest.py配置里可以实现数据共享,不需要import就能自动找到配置内容。 注意以下3点: 1、conftest.py配置脚本名称是固定的,不能修改名称 2、conftest.py与运行的用例要在同一个package下,并且有__init__.py文件 3、不需要import导入conftest.py,pytest用例会自动查找 语法: fixture(scope=“function”, params=None, autouse=False, ids=None, name=None):

xiaocai5731的博客 398

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

pytest框架学习(二) - pytest-html报告与fixture使用以及conftest.py文件

优化 - pytest - html 需要安装pytest - html插件 pytest可以生成多种样式的结果 1.生成 JunitXML 格式的测试报告: 命令: --junitxml=path 2.生成result log格式的测试报告: 命令: --resultlog=report\log.txt 3.生成html格式的测试报告: 命令: --html=report\test_o...

夜莺_Cody 992

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pytest框架笔记(十九) : conftest.py作用范围

一、前言 一个测试工程下是可以有多个conftest.py文件的,一般在工程根目录放一个conftest.py起到全局作用。 在不同的测试子目录也可以放conftest.py,作用范围只在该层级以及以下目录生效 二、conftest层级关系 web_conf_py是项目工程名称 │ conftest.py │ __init__.py │ ├─baidu │...

BearStarX的博客 1092

python自动化框架pytest文档_python自动化测试(二)pytest框架之conftest.py

一 conftest特点:1、可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture2、conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件3、不需要import导入 conftest.py,pytest用例会自动识别该文件,放到项目的根目录下就可以全局目录调用了,如果放到某个packa...

weixin_39588265的博客 304

Python测试框架pytest(08)fixture - conftest.py、yield、addfinalizer

目录 1、conftest.py作用范围 2、yield实现teardown 3、yield+with的结合 4、addfinalizer终结函数 1、conftest.py作用范围 conftest.py 文件名称是固定的,pytest 会自动识别该文件,可以理解成一个专门存放 fixture 的配置文件。 一个工程下可以建多个 conftest.py 的文件,一般在工程根目录下设置的 conftest 文件起到全局作用。在不同子目录下也可以放 conftest.py 的文件,作用范围只能在

Meng 1685

pytest测试框架系列 - Pytest Fixture和conftest.py还能这样使用?

前言 Fixture是pytest的非常核心功能之一,在不改变被装饰函数的前提下对函数进行功能增强,经常用于测试用例前置和后置工作。与setup/teardown类似,但更强大灵活。 fixture的优势 fixture命名方式灵活,不局限于 setup 和teardown 那几个命名规则 conftest.py 配置里可以实现数据共享,能够自动搜索需要的fixture fixture 配置不同的参数可以轻松实现跨文件、session会话共享 fixture工作原理 在普通函数上使用@Pytest.f

测试之路king_qq772084279 735
上一篇: Charles简单使用教程(持续更新)
下一篇: python+requests+pytest+allure+yaml+Jenknis接口自动化测试框架搭建教程
高级拳师
博客等级 码龄14年 1297粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值