如何重命名pytest-html插件生成的HTML报告的标题?

时间:2020-01-03 11:02:50

标签: pytest-html

我正在使用pytest-html插件生成html报告。我正在通过在命令行中提供"pytest --html=report.html"来执行pytest文件。 因此,生成的html报告的名称和标题为report.html。我想更改生成的报告的标题。 请让我知道,该怎么做?

3 个答案:

答案 0 :(得分:1)

在测试的同一文件夹中创建conftest.py文件。 该文件用于配置pytest。 将此片段放在里面


def pytest_html_results_summary(prefix, summary, postfix):
    prefix.extend([html.h1("A GOOD TITLE")])

如果您需要更改html报告文件名,则可以尝试类似的操作

# @pytest.hookimpl(tryfirst=True)
def pytest_configure(config):
    # to remove environment section
    config._metadata = None

    if not os.path.exists('reports'):
        os.makedirs('reports')

    config.option.htmlpath = 'reports/' + datetime.now().strftime("%d-%m-%Y %H-%M-%S") + ".html"

我的示例将把report.html文件放在一个名为reports的文件夹中,该文件夹使用日期而不是静态名称命名

答案 1 :(得分:1)

根据我在代码中看到的,现在还没有办法只更改报告的标题,现在将其硬编码为

html.h1(os.path.basename(self.logfile))

因此,报告标题将始终是报告文件名。我刚刚向项目推送了一个合并请求,以添加一个新的挂钩,以允许在不更改文件名的情况下更改标题,我们将查看它是否被接受。

答案 2 :(得分:1)

从v2.1.0版本开始,此插件在将标题添加到报表之前公开了一个hook。您可以将其添加到conftest.py:

def pytest_html_report_title(report):
   report.title = 'your title!'

在插件的User Guide中也对此进行了说明。