本文介绍: pytest–html 是 pytest 的一个插件,它为测试结果生成 HTML 报告。pytest–html 将适用于 Python >=3.6 或 PyPy3。# 在当前脚本同级目录下生成测试报告使用chrome浏览器打开测试报告# 在当前脚本的同级目录下的report文件夹里生成测试报告说明:生成测试报告的时候,如果在目标路径下已经存在同名的报告,原报告会被覆盖掉。首先我们来看下上面的方法生成的测试报告,css和html是分开存储的。分享报告的时候样式会丢失。为了方便后期要通过邮件发送报告,可以把cs
1、pytest–html插件安装
pytest–html 是 pytest 的一个插件,它为测试结果生成 HTML 报告。
2、在当前目录下生成测试报告
3、在指定路径生成测试报告
说明:
生成测试报告的时候,如果在目标路径下已经存在同名的报告,原报告会被覆盖掉。
4、创建一个独立的报告(合并css样式)
首先我们来看下上面的方法生成的测试报告,css和html是分开存储的。分享报告的时候css样式会丢失。
为了方便后期要通过邮件发送报告,可以把css样式合并到html里,建议使用下面的方法来创建一个独立的报告。
5、定制化测试报告(进阶)
观察上面的测试报告可知,默认生成的测试报告有Title、Environment、Summary、Results 加上表格,五个部分。
pytest–html 插件提供了hooks钩子函数来帮助我们实现定制化报告,钩子函数需要写入conftest.py文件。
# content of conftest.py
import pytest
from datetime import datetime
from py.xml import html
# 编辑报告标题
def pytest_html_report_title(report):
report.title = "My very own title!"
# 运行测试前修改环境信息
def pytest_configure(config):
config._metadata["foo"] = "bar"
# # 运行测试后修改环境信息
# @pytest.hookimpl(tryfirst=True)
# def pytest_sessionfinish(session, exitstatus):
# session.config._metadata["foo"] = "bar"
# 编辑摘要信息
def pytest_html_results_summary(prefix, summary, postfix):
prefix.extend([html.p("foo: bar")])
# 测试结果表格
def pytest_html_results_table_header(cells):
cells.insert(1, html.th("Time", class_="sortable time", col="time"))
cells.pop()
def pytest_html_results_table_row(report, cells):
cells.insert(1, html.td(datetime.utcnow(), class_="col-time"))
cells.pop()
(2)生成的测试报告如下:
6、HTML测试报告 No log output captured.
观察html测试报告可以看到没有任何pytest捕获的日志信息。
解决方案:
pytest运行的时候添加命令行参数 —capture=sys
pytest合集(11)— 日志管理_笃行之.kiss的博客-CSDN博客
pytest-html — pytest-html documentation
原文地址:https://blog.csdn.net/panc_guizaijianchi/article/details/125544080
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_15365.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。