pytest十五:pytest-html 生成 html 报告


pytest-HTML 是一个插件,pytest 用于生成测试结果的 HTML 报告。兼容 Python 2.7,3.6

pytest-html
1.github 上源码地址
【https://github.com/pytest-dev/pytest-html】
2.pip 安装
> pip install pytest-html
3.执行方法
> pytest --html=report.html


html 报告
1.打开 cmd,cd 到需要执行 pytest 用例的目录,执行指令:pytest —html=report.html
2.执行完之后,在当前目录会生成一个 report.html 的报告文件

指定报告路径
1.直接执行”pytest —html=report.html”生成的报告会在当前脚本的同一路径,如果想指定报告的存放位置,放到当前脚本的同一目录下的 report 文件夹里
2.如果想指定执行某个.py 文件用例戒者某个文件夹里面的所有用例,需加个参数。

报告独立显示
上面方法生成的报告,css 是独立的,分享报告的时候样式会丢失,为了更好的分享发邮件展示报告,可以把 css 样式合并到 html 里
> pytest --html=report.html --self-contained-html

显示选项
默认情况下,“ 结果”表中的所有行都将被展开,但具测试通过的行除外 Passed。
可以使用查询参数自定义此行为:?collapsed=Passed,XFailed,Skipped。

更多功能
更多功能查看官方文档【https://github.com/pytest-dev/pytest-html】


-html 报告报错截图+失败重跑
前言
做 web 自动化的小伙伴应该都希望在 html 报告中展示失败后的截图,提升报告的档次,pytest-html 也可以生成带截图的报告。
conftest.py
1.失败截图可以写到 conftest.py 文件里,这样用例运行时,只要检测到用例实例,就调用截图的方法,并且把截图存到 html 报告上
2.用例部分如下:
报告展示
cmd 打开,cd 到用例的目录,执行指令
> pytest --html=report.html --self-contained-html




失败重试
失败重跑需要依赖 pytest-rerunfailures 插件,使用 pip 安装就行
> pip install pytest-rerunfailures
用例失败再重跑 1 次,命令行加个参数--reruns 就行了
> py.test --reruns 1 --html=report.html --self-contained-html


关于 reruns 参数的 2 个用法
--reruns=RERUNS RERUNS 参数是失败重跑的次数,默认为 0
--reruns-delay=RERUNS_DELAY RERUNS_DELAY 是失败后间隔多少 s 重新执行,时间单位是 s
原文地址:https://www.cnblogs.com/zhongyehai/p/9690622.html