重运行机制
pytest
提供了失败重试机制
如果用例运行失败,可以指定运行失败的用例重新运行的次数,例如指定运行失败的用例再次运行两次。但是如果再运行两次还是失败,这个运行失败的用例不会再重新运行。
插件名称:rerunfailures
插件安装
pip install pytest-rerunfailures
使用方式
命令行参数形式
命令:pytest --reruns 重试次数
pytest --reruns 2
表示:运行失败的用例可以重新运行2次。
命令:pytest --reruns 重试次数 --reruns-delay 次数之间的延时设置(单位:秒)
Pytest --reruns 2 --reruns-delay 5
表示失败的用例可以重新运行2次。第一次和第二次的间隔时间为5秒钟。
pycharm编辑器方式
添加参数 -s -v --reruns 2 --reruns-delay 5
如果运行失败的用例,会再运行(RERUN)两次
测试报告
pytest可以生成多种样式的结果
JunitXML 格式
生成JunitXML 格式的测试报告
命令:
pytest --junitxml=path
这种测试报告其实也会遇到,XML格式文件,记录了用例运行的流程,如果是一些测试开发,或者要对测试报告的内容再次进行拓展的,这种格式的测试报告就派的上用处。相当于一个中转的作用
txt格式
生成result log格式的测试报告
命令:
pytest --resultlog=report\log.txt
Html格式
生成Html格式的测试报告需要先安装html报告的插件
pip install pytest-html
生成Html格式的测试报告
命令行形式
pytest --html=(相对路径)
py文件形式
首先,在项目根目录下新建 run.py
和 pytest.ini
文件
pytest.ini
[pytest]
markers =
demo : just for display
给用例打上标记,然后编辑run.py
run.py
import pytest
pytest.main(["-s","-v","-m","demo","--html=Outputs/report.html","--reruns","2","--reruns-delay","5"])
运行run.py
测试报告最终是这个样子的,还是过于简单,allure报告会比较全面