前言
上一篇文章我们介绍了如何配置allure环境用来生成精美的测试报告,本文我们就来详细介绍一下pytest结合allure生成优美的测试报告。
环境准备
我们已经配置好了allure环境,下面我们需要安装生成allure报告的第三方库,allure-pytest
,安装命令如下:
pip install allure-pytest
基本使用命令
在执行测试用例的时候监听并收集测试结果,直接在执行命令后加一个–alluredir=
存放测试结果的路径”的参数即可,例如:
pytest --alluredir = /tmp/results
#/tmp/results即你要存放测试结果的路径
当测试用例执行完毕,测试结果已经收集完毕,这时就可以启动服务来生成测试报告了,命令执行成功后会在默认浏览器中打开测试报告,命令如下:
allure serve /tmp/results
#/tmp/results即上一步存放的测试结果的路径
生成示例
我们这里使用allure官方给的一个示例来生成测试报告,代码如下:
import pytest
def test_success():
"""this test succeeds"""
assert True
def test_failure():
"""this test fails"""
assert False
def test_skip():
"""this test is skipped"""
pytest.skip('for a reason!')
def test_broken():
raise Exception('oops')
执行下面的命令来运行测试,命令如下:
pytest test_demo.py --alluredir=results
--------------------
运行结果如下:
collected 4 items
test_demo.py .FsF [100%]
============================================================================ FAILURES =============================================================================
__________________________________________________________________________ test_failure ___________________________________________________________________________
def test_failure():
"""this test fails"""
> assert False
E assert False
test_demo.py:15: AssertionError
___________________________________________________________________________ test_broken ___________________________________________________________________________
def test_broken():
> raise Exception('oops')
E Exception: oops
test_demo.py:24: Exception
===================================================================== short test summary info =====================================================================
FAILED test_demo.py::test_failure - assert False
FAILED test_demo.py::test_broken - Exception: oops
============================================================= 2 failed, 1 passed, 1 skipped in 0.05s ==============================================================
运行之后,我们就可以看到results
文件夹下生成了几个.json
文件,如下图:
生成了上述的json文件之后,我们就可以运行生成网页报告的命令,命令如下:
allure serve ./results
运行命令之后,会自动打开默认浏览器展示报告,如下图:
可以看到,一共四个测试用例,一个成功,一个跳过,一个失败,一个有异常,这四种状态在测试报告中都有对应的标识,并且我们还可以查看测试用例的详细信息、执行时间、日志等。
总结
通过结合Pytest和Allure,我们可以轻松地生成漂亮、交互式的测试报告,方便团队进行测试结果的分析和监控。Allure的图形界面提供了丰富的信息,使得测试结果更易于理解。这种结合的方式有助于提高测试过程的透明度和效率,从而提升整体的软件质量。希望本文能帮到大家!
标签:allure,测试报告,results,生成,pytest,test,软件测试 From: https://blog.51cto.com/u_15640304/9369341