pytest配置文件pytest.ini

文件说明

  • pytest.ini是pytest的全局配置文件,一般放在项目的根目录下
  • 是一个固定的文件-pytest.ini
  • 可以改变pytest的运行方式,设置配置信息,读取后按照配置的内容去运行
  • 运行的规则:不管是主函数模式运行,命令行模式运行,都会去读取这个全局配置文件。

案例如:
image

参数说明

[pytest]
;命令行参数,用空格进行分隔
addopts = -vs

;注册 mark 标记
markers =
    demo : marks tests as demo
    smoke: marks tests as smoke
    uat : marks tests as uat
    test : marks tests as test

minversion = 6.0

;测试用例的路径,可自己配置,
;../pytestproject为上一层的pytestproject文件夹
;./testcase为pytest.ini当前目录下的同级文件夹
testpaths =./testcase

;模块名的规则,配置测试搜索的模块文件名称
python_files = test*.py

;类名的规则,配置测试搜索的测试类名
python_classes = Test*

;方法名的规则,配置测试搜索的测试函数名
python_functions = test

addopts配置:参数详解

  1. -s:表示输出调试信息,用于显示测试函数中print()打印的信息
  2. -v:未加前只打印模块名,加v后打印类名、模块名、方法名,显示更详细的信息
  3. -q:表示只显示整体测试结果
  4. -vs:这两个参数可以一起使用
  5. -n:支持多线程或者分布式运行测试用例(需安装:pytest-xdist插件)
  6. –reruns:失败用例重跑,跑几次
  7. -x:表示只要有一个测试用例报错,则执行停止
  8. –maxfail=2:表示出现2个用例报错,则执行停止
  9. -k:模糊匹配,测试用例的部分字符串,指定执行测试用例
  10. -p no:warnings 忽略pytest运行时的警告

注册 mark 标记

在ini文件中,对所有用到的标记做注册,这样程序中添加未注册的标记时就会报错。
:后面的文字,是对该标记做的说明。

[pytest]
markers =
    smoking :
    high    :
    medium  :
    lower   :

测试用例中标识,运行pytest -v -m smoking,只执行还有smoking标记的测试用例

@pytest.mark.smoking
def test():
    pass

指定 pytest 最低版本号

minversion = 6.0

设置pytest最小版本,就是一个提示,如果超过设置的最小版本有些pytest的功能不支持可能会报错,设置超过当前使用的版本,也可正常运行

设置执行路径 testpaths

设置testpaths后,只在设置的路径中查找测试用例并执行,可配置多个,空格隔开
如下,只查找testcase下的测试用例并执行

[pytest]
testpaths = ./testcase

timeout 超时

超时30s后执行用例失败

[pytest]
timeout = 30