pytest系列——allure(五)之在测试用例添加标题(@allure.title())

前言

通过使用装饰器@allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。

allure.title的三种使用方式:

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

allure.title的例子:

# file_name: test_allure_title.py


import pytest
import allure


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


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

执行命令:

> pytest test_allure_title.py --alluredir=./report/result_data

> allure serve ./report/result_data

查看测试报告展示效果【 下面的测试报告中,我们已经通过装饰器@allure.title自定义了测试用例的标题;】:

image

allure.title占位符传递参数,参数化测试用例标题:

# file_name: test_allure_title.py


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 test_allure_title.py --alluredir=./report/result_data

> allure serve ./report/result_data

查看测试报告展示效果【下面的测试报告中,我们已经实现了通过在装饰器@allure.title中使用占位符的方式给标题传递参数,来实现测试用例标题的参数化,动态生成标题;】:

image

allure.dynamic.title动态更新标题:

# file_name: test_allure_title.py


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 test_allure_title.py --alluredir=./report/result_data

> allure serve ./report/result_data

查看测试报告展示效果【 从下面的测试报告中可以看到,测试用例的标题被替换成了在测试用例中使用allure.dynamic.title更新后的标题了。】:

image

posted @ 2022-08-25 10:32  观棋不雨  阅读(154)  评论(0编辑  收藏  举报