pytest.ini 改变 pytest 的默认行为,一般放在项目的根目录,不能包含中文符号。不管是主函数模式运行,命令行模式运行,都会去读取这个全局配置文件。
[pytest]
;配置命令行参数,用空格进行分隔。addopts 中的选项会被命令行中相同的选项覆盖。
;"-s" 参数 ⽤于关闭捕捉,从⽽输出打印信息到控制台
;"-v" 参数 ⽤于显⽰具体的⽤例执⾏信息
;"-k" 参数+用例名:运⾏名称中包含某字符串的测试⽤例
;"-q" 参数:简化输出信息
;"-x" 参数: 如果出现⼀条测试⽤例失败,则退出测试
;指定allure结果目录
;清理allure目录
;可执行标记为mark的对应用例,用or表示标记为demo或者smoke的用例都会执行
addopts = -vs --alluredir=./results/json --clean-alluredir -m "demo or smoke" # 设置不收集的文件或目录模式
norecursedirs = .git build dist tmp*# 设置添加到 sys.path 的额外路径
python_paths = src# 添加默认的标记(markers)
markers =slow: marks tests as slow (deselect with '-m "not slow"')serial: marks tests that can't run in parallel# 设置pytest的最低版本是5.0
minversion = 5.0 ;测试用例的路径,可自己配置,
;改变用例的查找路径规则,当前目录的testcase文件夹
testpaths =./testcase integration_tests # 按照设置路径查找执行文件;模块名的规则,配置测试搜索的模块文件名称
python_files = test*.py # 这里如果改成auto_*.py 则不会执行test_*开头的文件了,而是执行auto_*开头的文件
;类名的规则,配置测试搜索的测试类名
python_classes = *Test *Tests # 这里如果改成auto_*.py 则不会执行test_*开头的测试类了,而是执行auto_*开头的测试类
;方法名的规则,配置测试搜索的测试函数名
python_functions = test # 这里如果改成auto_*.py 则不会执行test_*开头的方法了,而是执行auto_*开头的方法12、pytest-html插件# 指定测试执行时的编码
python_files = test_*.py *_tests.py# 设定环境变量
env =PYTHONPATH=src# 最大宽度用于输出
console_output_width = 80# 启用或禁用插件
# addopts = -p no:cacheprovider# 设置是否在失败后继续执行其他测试
continue_on_collection_errors = false# 设置最大捕获输出字节数
maxfail = 3# 设置报告格式
# reportchars 可以是 s(跳过原因), x(失败), X(失败但XPass), .(通过), f(失败), E(错误)
reportchars = fsxXE# 设置重试次数
# retry 失败后重试次数
# reruns-delay 重试之间延迟秒数
addopts = --reruns 5 --reruns-delay 2# 并行测试时每个 worker 的进程数
# numprocesses = auto 或者具体的数字
# maxprocesses 为每个核心的最大进程数
# startmethod 可以是 fork, spawn, forkserver
addopts = -n auto --dist loadscope# 设置测试超时时间
timeout = 60