pytest-html如何自定义报告
时间: 2023-07-07 20:17:19 浏览: 188
pytest-html提供了多种自定义选项,可以根据用户的需求自定义报告的格式、样式和内容。以下是一些常用的自定义选项:
1. 修改报告标题和报告描述
可以在pytest.ini或者setup.cfg中添加如下配置:
```ini
[pytest]
# 修改报告标题
python_files=test_*.py
addopts = --html=./report/report.html --self-contained-html --title="自定义报告标题" --description="自定义报告描述"
```
2. 修改报告风格
可以在pytest.ini或者setup.cfg中添加如下配置:
```ini
[pytest]
# 修改报告风格
addopts = --html=./report/report.html --self-contained-html --css=./report/style.css
```
需要注意的是,style.css文件必须和report.html文件在同一目录下,否则无法生效。
3. 自定义报告模板
可以使用jinja2模板引擎自定义报告模板,具体操作如下:
在pytest.ini或者setup.cfg中添加如下配置:
```ini
[pytest]
# 自定义报告模板
addopts = --html=./report/report.html --self-contained-html --template=./report/mytemplate.html
```
创建mytemplate.html文件,并在文件中使用jinja2模板引擎定义报告模板。
4. 添加自定义报告内容
可以使用pytest hook机制添加自定义报告内容,具体操作如下:
在conftest.py文件中添加如下代码:
```python
import pytest
@pytest.hookimpl(tryfirst=True)
def pytest_configure(config):
config._metadata['project_name'] = '自定义报告内容'
config._metadata['Tester'] = '测试人员'
config._metadata['test_date'] = '2022-05-01'
@pytest.hookimpl(tryfirst=True)
def pytest_html_results_summary(prefix, summary, postfix):
prefix.extend([pytest_html.html.h1('自定义报告内容')])
```
在上述代码中,pytest_configure函数可以添加一些自定义的元数据,例如项目名称、测试人员、测试日期等信息,这些信息将会在报告头部展示。pytest_html_results_summary函数可以添加自定义的报告内容,例如在报告头部添加自定义标题。
阅读全文