pytest 之 pytest.ini配置文件

news/2024/10/17 16:27:35/

前言:pytest.ini全局配置文件,是pytest单元测试框架的核心配置文件,pytest.ini 可以改变 pytest 的默认行为

一、配置规则

1、优先级

  • 如pytest.ini有该参数值,在执行的时候,优先读取配置文件中的参数
  • 如没有,则取其他地方的(主函数/命令行中)

2、位置及命名

  • 位置:一般放在项目的根目录(即当前项目的顶级文件夹下)
  • 命名:pytest.ini,不能使用任何中文符号,包括汉字、空格、引号、冒号等等
  • 新建方式:点击鼠标右键(New->File->pytest.ini)
  • 编码格式:GBK或者ANSI,可以使用notepad++修改编码格式

3、格式

格式一般是固定的,建议将中文删掉:

[pytest]
;命令行参数,用空格进行分隔
addopts = -vs;注册 mark 标记
markers =demo : marks tests as demosmoke: marks tests as smokeuat : marks tests as uattest : marks tests as test
;测试用例的路径,可自己配置,
;../pytestproject为上一层的pytestproject文件夹
;./testcase为pytest.ini当前目录下的同级文件夹
testpaths =./testcase;模块名的规则,配置测试搜索的模块文件名称
python_files = test*.py;类名的规则,配置测试搜索的测试类名
python_classes = Test*;方法名的规则,配置测试搜索的测试函数名
python_functions = test

二、addopts配置:参数详解

  • -s:表示输出调试信息,用于显示测试函数中print()打印的信息
  • -v:未加前只打印模块名,加v后打印类名、模块名、方法名,显示更详细的信息
  • -q:表示只显示整体测试结果
  • -vs:这两个参数可以一起使用
  • -n:支持多线程或者分布式运行测试用例(前提需安装:pytest-xdist插件)
    • 如:pytest -vs test_login.py -n 2
  • –html:生成html的测试报告(前提需安装:pytest-html插件)
    • 如:pytest -vs --html ./reports/result.html
  • –reruns num: 用例失败后重跑,跑几次(前提需安装:pytest-rerunfailures插件)
    • 如:pytest -vs --reruns=2
  • -x:表示只要出现一个用例失败报错则停止执行,
    • 如:pytest -vs -x
  • –maxfail:表示出现几个用例失败报错,则终止测试
    • 如:pytest -vs --maxfail=2
  • -k:模糊匹配,运行测试用例名称中包含某个字符串的测试用例:
    • 如: pytest -vs -k “test_ins”
  • -m 指定标签(pytest.mark.标签)

三、注册mark标记

我们在编写自动化测试用例时,会有各种类型的场景用例,我们又不想一次性运行全部,只想运行其中的几个,这时我们可以借助mark标签来管理测试用例,mark标签是任意取的,但是要避开Python和pytest关键字,运行标签用 - m 来运行,如:pytest -m login
pytest.ini的mark标签配置示例(markers名称不可修改,里面的标签可自定义):

markers =demo : marks tests as demosmoke: marks tests as smokeuat : marks tests as uattest : marks tests as testlogin:marks login cases as test

然后在需要被标记的用例上加上@pytest.mark.xxx(xxx为标记的名称,比如@pytest.mark.login)

@pytest.mark.login
def test_login(self):u"""登录操作"""login_result = Login(self.driver).login_from_anli_pwd(normal_account, normal_password)assert login_result == "登录成功"

最后运行pytest -m login即可执行标记了标签的所有用例

四、testpaths配置

1)pytest默认是搜索执行当前目录下的所有以test_开头的测试用例;我们可以在pytest.ini配置testpaths = test_case/test_001.py,则只执行当前配置的文件夹下或文件里的指定用例
2)可配置多个,空格隔开:python_files = test_.py haha_.py

五、运行方式

由于已经在pytest.int中配置了运行规则,所以在主函数中就不需要重复配置,只需要执行pytest.main()即可
一般把执行的主函数文件,也放在根目录下,如图:
[图片]


http://www.ppmy.cn/news/1158608.html

相关文章

【UTMB】如何查看 UTMB 个人积分 | 个人表现分 | 对比ITRA与UTMB表现分

一、注册登录 1、通过邮件注册 2、进入邮箱查看 如果点不开这个按钮,按F12 查找这元素的链接,然后进入 3、完善个人信息 4、继续完善个人信息 5、注册成功 二、查找选手 1、查找选手【search runners】 2、按名字搜索 这里可以按正常的中文 姓名的…

小程序技术加速信创操作系统国产化替换

随着信息技术的不断发展,信息技术应用创新(简称“信创”)已经成为了当今企业数字化转型的重要趋势之一。信创是指在信息技术领域,以自主可控的国产软硬件产品和服务为核心,构建起一套完整的信息技术生态体系&#xff0…

通过小程序实现会议Oa主界面

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《微信小程序 》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,…

TP5.1 导出excel文件

在 ThinkPHP 5.1 中引入 PHPExcel(现在已被官方弃用,推荐使用 PhpSpreadsheet)时,可以按照以下步骤进行操作: 在 composer.json 文件中添加 PHPExcel(PhpSpreadsheet)的依赖项。找到 require 部…

【JS进阶】JS 迭代器和生成器

JS 迭代器和生成器 1.迭代器 迭代器,Iterator,其代表一种接口,目的是为各种不同的数据结构提供统一的访问机制。 任何数据结构,只要部署了 Iterator 接口,就可以完成遍历操作!(当然要是可遍历的数据结构…

PLC 学习day01 了解PLC 的组成和知识。

1.资料来源 链接:3.三菱PLC编程视频关于PLC工作原理的介绍_哔哩哔哩_bilibili 2. PLC 的知识 2.1 PLC 的概述及特点功能 PLC是可编程逻辑控制器(Programmable Logic Controller)的英文缩写,是融合了继电器控制功能和计算机运算功…

利用Python turtle绘制中国结附源码

一、中国结 01 平安喜乐 1)效果图 import turtle turtle.screensize(600,800) turtle.pensize(10) turtle.pencolor("red") turtle.seth(-45) turtle.fd(102) turtle.circle(-6,180) turtle.fd(102) turtle.circle(6,180) turtle.fd(102) turtle.circle(…

dependencyManagement和dependencies的区别

它们两个的层级关系是:dependencyManagement>dependencies dependencies: 在dependencies标签里声明的依赖都会自动引入,并默认被所有的子项目所继承(强制性的)。 dependencyManagement: 当一个项目包含多个模块时&#xff0…