软件测试/测试开发|Pytest allure为测试用例添加标题

时间:2024-01-25 22:08:29

软件测试/测试开发|Pytest allure为测试用例添加标题_自定义

前言

在测试过程中,清晰的测试报告对于了解测试结果和问题定位非常关键。如何使用 pytest 和 Allure 报告创建清晰的测试报告,本文将介绍通过使用 allure.title来增强测试报告的可读性。

allure.title的三种使用方式

  • 直接使用@allure.title为测试用例自定义标题;
  • @allure.title支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题;
  • @allure.dynamic.title动态更新测试用例标题。

下面我们依次对这三种使用方式进行举例:

直接使用@allure.title为测试用例自定义标题

代码如下:

import pytest
import allure


@allure.title("自定义测试用例标题")
def test_with_title():
    assert True


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_title.py'])

执行下面命令来生成测试报告

# 执行测试,生成json文件
pytest test_allure_title.py --clean-alluredir --alluredir=./results

# 展示报告
allure serve ./results

浏览器默认打开的测试报告如下图:

软件测试/测试开发|Pytest allure为测试用例添加标题_自定义_02

参数化测试用例标题

示例代码如下:

import pytest
import allure


@allure.title("参数化测试用例标题:参数1 = {param1} and 参数2 = {param2}")
@pytest.mark.parametrize("param1, param2, expected", [
    (1, 1, 2),
    (1, 3, 5)
])
def test_with_parametrize_title(param1, param2, expected):
    assert param1 + param2 == expected


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_title.py'])

因为我们使用了和上面同样的文件名,所以我们不需要改变命令,直接使用上面的命令即可,生成的测试报告如下图:

软件测试/测试开发|Pytest allure为测试用例添加标题_测试报告_03

动态更新标题

代码如下:

import pytest
import allure


@allure.title("这个标题将会被测试用例中的标题替换掉")
def test_with_dynamic_title():
    assert True
    allure.dynamic.title("断言成功后,标题将会被替换成这个标题")


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_title.py'])

运行命令之后,生成的测试报告打开如下:

软件测试/测试开发|Pytest allure为测试用例添加标题_测试报告_04

总结

本文主要介绍了如何使用allure.title给测试用例添加标题,更加直观的用例标题可以帮助团队更好地理解测试执行过程,从而更容易地进行问题定位和修复。希望本文可以帮到大家!