- pytest.ini是pytest的配置文件
- 可以修改pytest的默认行为
- 不能使用中文符号,包括汉字,空格,引号,冒号等
- 修改用例的命名规则
- 配置日志格式,比代码配置方便很多
- 添加标签,防止运行过程报警告错误
- 指定执行目录
- 排除搜索目录
[pytest];执行check_开头的所有文件python_files = check_* test_*;执行所有的以Test和Check开头的类python_classes = Test* Check*;执行所有以test_和check_开头的方法python_functions = check_* test_*
- 注意:win系统的pytest.ini文件不能写中文,注释也不行
addopts = -v -s --alluredir=./results指定/忽略执行目录
;设置执行得路径;testpaths = bilibili baidu;忽略某些文件夹/目录norecursedirs = result logs datas test_demo*
插件开发- pytest插件分类
- 外部插件:pip install 安装的插件
- 本地插件:pytest自动模块发现机制(conftest.py存放的)
- 内置插件:代码内部的_pytest目录加载(hook函数)
- 外部插件:pip install 安装的插件
常用插件

文章插图
每一种测试框架收集测试用例的顺序是不一样的
pytest执行顺序控制
- 场景:
用例默认执行顺序:自上而下执行
- 解决:
- 安装:pip install pytest-ordering
- 用法:@pytest.mark.run(order=2)
- 注意:多个插件装饰器(>2)的时候,有可能会发生冲突
- 测试用例1000条,一个用例执行1分钟,一个测试人员需要1000分钟,通常我们会用人力成本换取时间成本,加几个人一起执行,时间就会缩短 。这就是一种分布式场景 。
- 假设有个报名系统,对报名总数进行统计,数据同时进行修改操作的时候有可能出现问题,需要模拟这个场景,需要多用户并发请求数据
- 使用分布式并发执行测试用例,分布式插件:pytest-xdist
- 安装:pip install pytest-xdist
- 注意:用例多的时候效果明显,多进程并发执行,同时支持allure
- 是个函数,在系统消息触发时被系统调用
- 自动触发机制
- Hook函数的名称是确定的
- pytest有非常多的hook函数
- 使用时直接编写函数体
- 执行是有先后顺序的
- 可以在不同阶段实现不同的功能

文章插图
执行顺序:
- 介绍:https://ceshiren.com/t/topic/8807
- 简洁版:

文章插图
pytest编写插件1-修改默认编码pytest_collection_modifyitems收集上来的测试用例实现定制化功能
解决问题: