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

存放路径为项目的根目录

解决中文报错

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

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

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

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

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

addopts-追加默认参数

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

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

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

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

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

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

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

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

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

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

执行结果如下:

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*

执行结果

markers-注册mark标记

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

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

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

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

再次执行用例

运行结果没有告警提示

Pytest_配置文件-pytest.ini(4)的更多相关文章

  1. pytest十三:配置文件 pytest.ini

    pytest 配置文件可以改变 pytest 的运行方式,它是一个固定的文件 pytest.ini 文件,读取配置信息,按指定的方式去运行. ini 配置文件pytest 里面有些文件是非 test ...

  2. 配置文件pytest.ini

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. ini配置文件 pytest里面有些文件是非test文件 py ...

  3. Pytest系列(14)- 配置文件pytest.ini的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest配置文件可以改变 ...

  4. pytest配置文件pytest.ini

    说明: pytest.ini是pytest的全局配置文件,一般放在项目的根目录下 是一个固定的文件-pytest.ini 可以改变pytest的运行方式,设置配置信息,读取后按照配置的内容去运行 py ...

  5. Pytest(14)pytest.ini配置文件

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 查看pytest.ini的配置选项 pytest -h 找到以下 ...

  6. pytest文档18-配置文件pytest.ini

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. ini配置文件 pytest里面有些文件是非test文件 py ...

  7. Pytest学习笔记12-配置文件pytest.ini

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. 常用的配置项 marks 作用:测试用例中添加了自定义标记( ...

  8. pytest--mark基本使用(主要通过pytest.ini文件注册标签名,对用例进行标记分组)

    1.pytest中的mark介绍 mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记 名),实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等.如下 图,现在需要只执行红色 ...

  9. MySQL Cluster 配置文件(config.ini)详解

    MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...

随机推荐

  1. Spring事务隔离级别和传播特性(转)

    相信每个人都被问过无数次Spring声明式事务的隔离级别和传播机制吧!今天我也来说说这两个东西. 加入一个小插曲,一天电话里有人问我声明式事务隔离级别有哪几种,我就回答了7种,他问我Spring的版本 ...

  2. MySQL 用户权限相关命令

    ##1.创建用户: create user test identified by '123456';##identified后面跟密码 ##2.查询所有用户: select user from mys ...

  3. highchars操作集合

    一.tooltip 与鼠标指针的距离想调整tooltip和鼠标指针的距离,官方api 和中文api中都没写,只有轴 label.distance . 但我觉得应该有这个,看源码果然有 tooltip ...

  4. MySQL如何随机筛选25000条数据

    一.SELECT * FROM sheet1 t1 ORDER BY RAND() LIMIT 10000; 二.SELECT * FROM sheet1 AS t1 JOIN (SELECT ROU ...

  5. 腾讯新闻基于 Flink PipeLine 模式的实践

    摘要  :随着社会消费模式以及经济形态的发展变化,将催生新的商业模式.腾讯新闻作为一款集游戏.教育.电商等一体的新闻资讯平台.服务亿万用户,业务应用多.数据量大.加之业务增长.场景更加复杂,业务对实时 ...

  6. Wireshark(四):网络性能排查之TCP重传与重复ACK

    原文出处: EMC中文支持论坛 作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端.但用户感到网络运行缓慢并不意味着就是网络问题. 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重 ...

  7. [BUUCTF]PWN——jarvisoj_level3

    jarvisoj_level3 附件 步骤 例行检查,32位,nx保护 运行一下程序 32位ida载入,shift+f12没有看到程序里有可以直接利用的后面函数,根据运行时的字符串找到了程序的关键函数 ...

  8. 材料资源和成本资源(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 第二种资源就是[材料资源]啦~ 拿到资源第一件事就是输入基本信息,这个,不复读了,复读得我自己都嫌烦.好吧,还得说明一下, ...

  9. 录入任务信息(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 日历设置好了,就该录入任务了.当然在录入任务之前还要对任务进行一下面分解,就是一个项目,要分几个大步完成,每个大步又分几个 ...

  10. CF420A Start Up 题解

    Content 给定一个长度为 \(n\) 的字符串,求这个字符串整个反转过来后是否和原字符串一样. 数据范围:\(1\leqslant n\leqslant 10^5\). Solution 众所周 ...