欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

用Pytest和Allure创建出漂亮的测试报告:软件测试/测试开发全职机会

最编程 2024-08-02 16:12:47
...

软件测试/测试开发/全日制|Pytest 结合allure生成优美的测试报告_测试报告

前言

上一篇文章我们介绍了如何配置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文件,如下图:

软件测试/测试开发/全日制|Pytest 结合allure生成优美的测试报告_默认浏览器_02

生成了上述的json文件之后,我们就可以运行生成网页报告的命令,命令如下:

allure serve ./results

运行命令之后,会自动打开默认浏览器展示报告,如下图:

软件测试/测试开发/全日制|Pytest 结合allure生成优美的测试报告_测试用例_03

可以看到,一共四个测试用例,一个成功,一个跳过,一个失败,一个有异常,这四种状态在测试报告中都有对应的标识,并且我们还可以查看测试用例的详细信息、执行时间、日志等。

总结

通过结合Pytest和Allure,我们可以轻松地生成漂亮、交互式的测试报告,方便团队进行测试结果的分析和监控。Allure的图形界面提供了丰富的信息,使得测试结果更易于理解。这种结合的方式有助于提高测试过程的透明度和效率,从而提升整体的软件质量。希望本文能帮到大家!