Pytest教程__配置文件-pytest.ini(4)

这篇具有很好参考价值的文章主要介绍了Pytest教程__配置文件-pytest.ini(4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pytest配置文件可以改变pytest的默认运行方式,它是一个固定的文件名称pytest.ini。

存放路径为项目的根目录

Pytest教程__配置文件-pytest.ini(4)

解决中文报错

在讲解配置文件的可用参数前,我们先解决一个高概率会遇到的问题, 那就是在pytest.ini文件 中不能使用任何中文符号,否则会报错:UnicodeDecodeError: 'gbk' codec can't decode

Pytest教程__配置文件-pytest.ini(4)

解决方法:点击倒数第二行的报错,进入iniconfig模块,找到其前面一行代码的open()函数,在open函数中中增加 encoding='utf-8'参数

Pytest教程__配置文件-pytest.ini(4)

配置文件的参数值会被命令行覆盖

当配置文件的参数与命令文件的参数重复时,命令行的参数值会覆盖配置文件中定义的参数值。、

比如下图,命令行参数值为3,pytest.ini参数值为2,实际执行的参数值为3

Pytest教程__配置文件-pytest.ini(4)

addopts-追加默认参数

我们每次在CMD中执行pytest命令时,如果参数是固定的,可以使用该参数项减少繁琐的操作。比如CMD中输入以下命令:

pytest -v --reruns 1 --html=report.html

Pytest教程__配置文件-pytest.ini(4)

在配置文件中,我们可以这样配置:

[pytest]
# 命令行参数,用空格分隔
addopts = -v --reruns 1 --html=report.html

配置好后,我们在命令直接执行pytest就不需要在追加参数了

Pytest教程__配置文件-pytest.ini(4)

testpaths-指定测试用例搜索目录

testpaths用于指定测试用例的搜索目录,可以指定一个或多个目录,多个目录需要用空格隔开,需要注意的是,多个目录下不能存在相同名称py文件,否则会抛错。

Pytest教程__配置文件-pytest.ini(4)

 修改相同名称的py文件后的结构如下:

Pytest教程__配置文件-pytest.ini(4)

将两个测试用例的目录添加到pytest.ini配置文件

[pytest]
# 读取测试用例的起始文件夹,多个路径用空格分隔。注意:这些目录下不能出现相同文件名,否则会报错
testpaths = ./testcase ./testcase-copy

执行结果如下:

Pytest教程__配置文件-pytest.ini(4)

python_files & python_classes & python_functions 修改pytest默认搜索用例的规则

pytest 默认的用例匹配规则:

  1. 测试模块必须以 test_ 开头或以 _test 结尾
  2. 测试类必须以 Test 开头,且不能有 __init__() 
  3. 测试方法必须以 test_ 开头

pytest.ini配置文件可以使用python_files、python_calsses、python_functions修改默认的用例匹配规则。

  • 使用python_files可以自定义测试模块的匹配规则
  • 使用python_classes可以自定义测试类的匹配规则
  • 使用python_functions可以自定义测试方法的匹配规则

上面3个配置项支持多个匹配规则,多个匹配规则用空格隔开。

在了解配置字段后,我们添加自己的匹配规则:

  • 添加 my 开头的测试模块
  • 添加 My 开头的测试类
  • 添加 my 开头的测试方法
[pytest]
# 配置搜索的模块文件名称。匹配以test开头py结尾的文件
python_files = test*.py my*.py

# 配置搜索的测试类名
python_classes = Test* My*

# 配置搜索的测试方法名
python_functions = test* my*

执行结果

Pytest教程__配置文件-pytest.ini(4)

markers-注册mark标记

当我们使用 @pytest.mark.标记名称 时,如果使用的自定义标记,当在执行用例追加参数 -m=标记名称 时,虽然不会影响测试执行,但是在执行后会出现告警提示。

Pytest教程__配置文件-pytest.ini(4)

我们可以在pytest.ini配置文件增加 markers 字段注册标记名称

[pytest]
# 注册标记名称
markers =
    smoke: 冒烟测试用例
    normal: 正常用例

添加后,使用pytest --markers可以查看到我们添加的标记名称。

Pytest教程__配置文件-pytest.ini(4)

再次执行用例

Pytest教程__配置文件-pytest.ini(4)

运行结果没有告警提示


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

Pytest教程__配置文件-pytest.ini(4)

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)文章来源地址https://www.toymoban.com/news/detail-482677.html

到了这里,关于Pytest教程__配置文件-pytest.ini(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从0到1精通自动化测试,pytest自动化测试框架,配置文件pytest.ini(十三)

    pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改变pytest的默认行为 conftest.py 测试用例的一些fixture配置 _init_.py 识别该文件夹为python的package包

    2024年02月11日
    浏览(112)
  • pytest.ini 文件说明

    pytest.ini 文件是用于配置 pytest 测试用例运行规则的文件。pytest.ini 配置文件支持的参数有以下几类: 匹配测试文件和测试函数的过滤参数 测试用例执行参数 测试报告输出参数 临时文件及路径参数 插件参数 以下是一些常见的 pytest.ini 配置参数及其用法示例: 匹配测试文件和

    2024年02月13日
    浏览(47)
  • pytest pytest.ini 设置日志记录

     pytest.ini addopts = --log-cli-level=INFO  设置了控制台日志的级别为 INFO。 log_file = pytest.log  指定了日志文件的名称为  pytest.log 。 log_file_level = INFO  设置了日志文件的日志级别为 INFO。 log_file_format = %(asctime)s %(levelname)s %(message)s  设置了日志文件的格式,包括时间戳、日志级别和

    2024年01月25日
    浏览(36)
  • pytest运行时参数说明,pytest详解,pytest.ini详解

    1.pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点: 简单灵活,容易上手,支持参数化 2.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium、appium等自动化测试,requests+pytest接口自动化测试 3.pytest具有很多第三方插件,并且可以自定义扩展

    2024年02月13日
    浏览(46)
  • Pytest教程:Windows下的Pytest安装和配置

    在软件开发领域中,测试是确保软件质量和稳定性的关键。而Pytest是一种基于Python的全功能测试框架,在编写测试用例时提供了更简单、更可读、更灵活的方式,并且可以方便地管理测试过程、生成报告、支持fixture和插件等功能。在本文中,我们将介绍如何在Windows系统下安

    2024年02月09日
    浏览(43)
  • pytest系列—conftest.py配置文件

    conftest.py是什么? conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。 conftest.py使用场景 如果我们有很多个前置函数,写在各个py文件中是不很乱?再

    2024年02月08日
    浏览(33)
  • 软件测试|Windows系统配置pytest+allure环境教程

    前言 allure可以输出非常精美的测试报告,也可以和pytest进行完美结合,不仅可以渲染页面,还可以控制用例的执行。本文我们将介绍Windows系统中如何配置allure环境。 第一步:配置Java环境 因为 allure 的运行依赖于Java环境,所以我们需要先配置好Java环境, allure 需要的Java环境

    2024年02月01日
    浏览(44)
  • Pytest教程:Pytest的简介

    Pytest是一个基于Python编写的全功能测试框架,它被广泛应用于软件开发领域的自动化测试。在本篇技术博客中,我们将介绍Pytest的简介、背景和优势,以及它相比其他测试框架的优势、主要特点和功能。 一、Pytest的简介、背景和优势 Pytest是一个轻量级的测试框架,它提供了

    2024年02月09日
    浏览(37)
  • Pytest教程:Pytest如何生成测试报告

    一、pytest如何生成测试报告? pytest 是一个流行的 Python 测试框架,可以用于编写和运行各种类型的测试。与基于 unittest 的传统测试框架相比,pytest 更加灵活和易于使用,并且支持各种插件扩展功能。同时,pytest 还提供了生成测试报告的功能,可以帮助开发者更好地理解测试

    2024年02月10日
    浏览(36)
  • Pytest教程:如何使用Pytest中的断言

    在软件测试中,断言是一项至关重要的工具。它能够帮助我们判断被测程序的实际输出是否满足预期,从而保证测试质量和代码健壮性。pytest是一个流行的Python测试框架,提供了丰富的断言功能,本文将详细介绍pytest断言的使用方法、规则、语法、初级使用、高级使用、特别

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包