文章目录
前言
pytest+allure+allure-pytest 报告输出需要安装以下框架和插件,具体实现可参考:08 接口自动化-用例管理框架pytest之fixtrue,conftest.py,allure报告
框架:
- pytest
- allure
插件:
- pytest-html
- pytest-xdist
- pytest-ordering
- pytest-rerunfailures
- allure-pytest
由于这些框架和插件如果版本不适配,就会导致各种报错,本人踩过的坑记录下来,方便自己的同时方便他人,有什么问题,欢迎大家留言评论~
问题一:module ‘allure’ has no attribute ‘severity_level’
原因:pytest-allure-adaptor 兼容 pytest 版本 <5.0;allure-pytest 兼容 pytest 版本>5.0
- 通过
pip show pytest --version
命令查看 pytest 版本,若大于 5.0,则需要执行 pip uninstall pytest-allure-adaptor
pip install allure-pytest
问题二:ERROR:file or directory not found: ‐vs
这是执行pytest -vs
命令报错,出现这种问题有两种情况:
- 1、pytest 版本 可能与 python 版本、allure-pytest 版本不适配问题导致的,需要查清楚安装版本是否彼此相互支持相互适配
- 查看软件包信息,看支持的情况:
- 查看官方文档 allure-pytest + pytest
- 网上查询
- 通过 pip3 安装,看是否给出版本不适配的警告提示
- 本人环境参考:python 3.10 + allure-pytest 2.14.2 + pytest 7.2.2
- 查看软件包信息,看支持的情况:
- 2、在 pycharm
终端
执行pytest -vs
命令 和 main 函数执行pytest.main(['-vs'])
没问题,但在 ini 文件中配置参数执行会报错
在 终端和main函数执行后,重新在 ini 文件中配置参数执行,又恢复正常。不知道是什么原因导致的,莫名其妙地解决了~
问题三:生成的 html 报告是空的,明明有测试用例执行完成,但报告没有显示数据
这是由于 allure 和 allure-pytest 版本不适配导致的
本人环境参考:allure-2.30.0 + allure-pytest-2.14.2