我正在使用pytest-html
插件生成html报告。我正在通过在命令行中提供"pytest --html=report.html"
来执行pytest文件。 因此,生成的 html 报告的名称和标题是 report.html。我想更改生成的报告的标题。 请让我知道,该怎么做?
从 v2.1.0 开始,此插件在将标题添加到报告之前公开了一个调用的钩子。您可以将其添加到 conftest.py:
def pytest_html_report_title(report):
report.title = 'your title!'
插件的用户指南中也对此进行了解释。
在测试的同一文件夹中创建 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 命名的文件夹中,使用日期而不是静态名称命名
从我在代码中看到的还没有办法只更改报告的标题,它现在硬编码为
html.h1(os.path.basename(self.logfile))
因此,报告标题将始终是报告文件名。我刚刚向项目推送了一个合并请求,以添加新钩子以允许在不更改文件名的情况下更改标题,我们将看看它是否被接受。