$ pip install pytest-html然后运行你的测试:
$ pytest --html=report.html
创建自包含报表
为了遵守内容安全策略( CSP ) 插件,默认情况下,将分别存储CSS和图像等若干资产。 可以选择创建自包含报表,这在共享结果时更方便。 可以按以下方式执行这里操作:$ pytest --html=report.html --self-contained-html作为文件或者链接添加的图像将被链接为外部资源,这意味着独立报表html文件可能不会像预期那样显示这些图像。 插件将在添加文件或者链接到独立报表时发出警告。
增强报告
环境
web - config - 环境部分由pytest元数据插件提供,并可以通过 pytest_configure 钩子访问:defpytest_configure(config): config._metadata['foo'] ='bar'
额外内容
你可以在报表对象上创建'额外'列表,从而向HTML报告添加详细信息。 以下是可以添加的额外内容类型: 类型示例原始 HTML | extra.html('<div>Additional HTML</div>') |
JSON | extra.json({'name': 'pytest'}) |
纯文本 | extra.text('Add some simple Text') |
URL | extra.url('http://www.example.com/') |
图像 | extra.image(image, mime_type='image/gif', extension='gif') |
图像 | extra.image('/path/to/file.png') |
图像 | extra.image('http://some_image.png') |
PNG | extra.png(image) |
JPEG | extra.jpg(image) |
SVG | extra.svg(image) |
1 @pytest.hookimpl(hookwrapper=True) 2 def pytest_runtest_makereport(item, call): 3 pytest_html = item.config.pluginmanager.getplugin('html') 4 outcome = yield 5 report = outcome.get_result() 6 extra = getattr(report, 'extra', []) 7 if report.when == 'call': 8 # always add url to report 9 extra.append(pytest_html.extras.url('http://www.baidu.com/')) 10 xfail = hasattr(report, 'wasxfail') 11 if (report.skipped and xfail) or (report.failed and not xfail): 12 # only add additional html on failure 13 extra.append(pytest_html.extras.html('<div>Additional HTML</div>')) 14 report.extra = extra
你还可以为除 html 之外的所有类型指定 name 参数,这将更改创建的超级链接的标题:
extra.append(pytest_html.extras.text('some string', name='Different title'))二、Allure Report本地打开报错 1.无法本地打开,可以通过pycharm打开,pycharm自带容器服务,开启一个端口运行。 2.Anywhere运行 Anywhere是一个随启随用的静态服务器,它可以随时随地将你的当前目录变成一个静态文件服务器的根目录。 安装之后,这个运行最简单,在report目录下打开cmd,输入anywhere就可以启动一个服务 三、参考链接 源代码网址:http://www.github.com/pytest-dev/pytest-html 中文翻译:https://www.kutu66.com/GitHub/article_123019 Python中文文档: https://www.cnpython.com/pypi/pytest-html