本文介绍: pytesthtmlpytest一个插件,它为测试结果生成 HTML 报告。pytesthtml 将适用于 Python >=3.6 或 PyPy3。# 在当前脚本同级目录下生成测试报告使用chrome浏览器打开测试报告# 在当前脚本同级目录下的report文件夹里生成测试报告说明:生成测试报告的时候,如果在目标路径下已经存在同名的报告,原报告会被覆盖掉。首先我们来看下上面的方法生成的测试报告,csshtml是分开存储的。分享报告的时候样式丢失。为了方便后期要通过邮件发送报告,可以cs

1、pytesthtml插件安装

pytesthtmlpytest一个插件,它为测试结果生成 HTML 报告。

要求: Python >=3.6 或 PyPy3。

pip install pytesthtml

2、在当前目录下生成测试报告

pytesthtml=report.html

使用chrome浏览器打开测试报告

3、在指定路径生成测试报告

pytesthtml=./report/report.html

说明

生成测试报告的时候,如果在目标路径下已经存在同名的报告,原报告会被覆盖掉。

4、创建一个独立的报告(合并css样式

首先我们来看下上面的方法生成的测试报告,csshtml是分开存储的。分享报告的时候css样式丢失

为了方便后期要通过邮件发送报告,可以css样式合并html里,建议使用下面的方法创建一个独立的报告。

pytesthtml=report.html —selfcontainedhtml

 观察可知,只生成了一份HTML文件没有css文件了。

5、定制测试报告(进阶) 

观察上面的测试报告可知,默认生成的测试报告有Title、Environment、Summary、Results 加上表格,五个部分。

pytesthtml 插件提供了hooks钩子函数来帮助我们实现定制化报告,钩子函数需要写入conftest.py文件

(2)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捕获日志信息详见:

pytest合集(11)— 日志管理_笃行之.kiss的博客-CSDN博客


reference:

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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注