Allure2添加用例标题、用例步骤

简介: 在Allure2报告中,可以通过`@allure.title`装饰器添加用例标题以增强可读性。标题可参数化或动态更新。同时,Allure2支持两种添加步骤方法:1) 使用`@allure.step`定义测试步骤并在用例中调用;2) 使用`with allure.step()`结构在代码块中添加步骤,提高测试流程的清晰度。这些功能提升了报告的易读性和测试的详细度。

1、Allure2报告中添加用例标题

Allure 用法

方法名 方法参数 参数说明
@allure.epic() epic 描述 敏捷里面的概念,定义史诗,往下是 feature
@allure.feature() 模块名称 功能点的描述,往下是 story
@allure.story() 用户故事 用户故事,往下是 title
@allure.title(用例的标题) 用例的标题 重命名 html 报告名称
@allure.step() 操作步骤 测试用例的步骤
@allure.testcase() 测试用例的链接地址 对应功能测试用例系统里面的 case
@allure.issue() 缺陷 对应缺陷管理系统里面的链接
@allure.description() 用例描述 测试用例的描述
@allure.severity() 用例等级 blocker,critical,normal,minor,trivial
@allure.link() 链接 定义一个链接,在测试报告展现
@allure.attachment() 附件 报告添加附件

Allure2 报告中添加用例标题

应用场景:为了让生成的测试报告便于阅读,可以为每条用例添加一个便于阅读的标题(可以使用中文标题)。生成的报告展示用例时,就会以设置的标题名展示出来。

image.png

Allure2 报告中添加用例标题

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

  • allure.title 的三种使用方式:

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

Allure2 报告直接设置标题

  • 方法一:直接使用装饰器。
import allure
import pytest

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

Allure2 报告参数化设置用例标题

  • 方式二:通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题。
import allure
import pytest

@allure.title("参数化用例标题:参数一:{param1} ,参数二: {param2}")
@pytest.mark.parametrize("param1, param2, expected", [
    (1, 1, 2),
    (0.1, 0.3, 0.4)
])
def test_with_parametrize_title(param1, param2, expected):
    assert param1 + param2 == expected

Allure2 报告动态更新测试用例标题

  • 方式三:动态更新测试用例标题。
@allure.title("原始标题")
def test_with_dynamic_title():
    assert True
    allure.dynamic.title("更改后的新标题")

2、Allure2报告中添加用例步骤

Allure2 报告中添加用例步骤

应用场景:编写自动化测试用例的时候经常会遇到需要编写流程性测试用例的场景,一般流程性的测试用例的测试步骤比较多,我们在测试用例中添加详细的步骤会提高测试用例的可阅读性。

image.png

Allure2 报告中添加用例步骤

  • Allure 支持两种方法:

    • 方法一:使用装饰器定义一个测试步骤,在测试用例中使用。
    • 方法二:使用 with allure.step() 添加测试步骤。

Allure2 报告装饰器添加用例步骤

  • 方法一:使用装饰器定义一个测试步骤,在测试用例中使用。
# 方法一:使用装饰器定义一个测试步骤,在测试用例中使用
import allure
import pytest

@allure.step
def simple_step1(step_param1, step_param2 = None):
    '''定义一个测试步骤'''
    print(f"步骤1:打开页面,参数1: {step_param1}, 参数2:{step_param2}")

@allure.step
def simple_step2(step_param):
    '''定义一个测试步骤'''
    print(f"步骤2:完成搜索 {step_param} 功能")

@pytest.mark.parametrize('param1', ["pytest", "allure"], ids=['search pytest', 'search allure'])
def test_parameterize_with_id(param1):
    simple_step2(param1)


@pytest.mark.parametrize('param1', [True, False])
@pytest.mark.parametrize('param2', ['value 1', 'value 2'])
def test_parametrize_with_two_parameters(param1, param2):
    simple_step1(param1, param2)

@pytest.mark.parametrize('param2', ['pytest', 'unittest'])
@pytest.mark.parametrize('param1,param3', [[1,2]])
def test_parameterize_with_uneven_value_sets(param1, param2, param3):
    simple_step1(param1, param3)
    simple_step2(param2)

Allure2 报告中添加用例步骤

  • 方法二:使用 with allure.step() 添加测试步骤。
# 方法二:使用 `with allure.step()` 添加测试步骤
@allure.title("搜索用例")
def test_step_in_method():
    with allure.step("测试步骤一:打开页面"):
        print("操作 a")
        print("操作 b")

    with allure.step("测试步骤二:搜索"):
        print("搜索操作 ")

    with allure.step("测试步骤三:断言"):
        assert True

image.png

相关文章
|
6月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
6月前
|
运维 测试技术
实用指南:使用Pytest Allure测试框架添加用例失败截图
本文介绍了如何在使用`allure+pytest`进行软件测试时,通过`pytest_runtest_makereport`钩子函数自动捕获失败用例的截图。在`conftest.py`中定义钩子,当用例失败时,保存截图并附加到Allure测试报告中。测试代码示例展示了登录豆瓣的场景,测试失败时会自动生成截图。这种方法有助于快速理解和解决测试问题,提升测试效率和软件质量。
|
测试技术
|
缓存 测试技术 Python
Pytest用例规范及运行
Pytest用例规范及运行
174 1
|
测试技术
25-pytest-参数化生成用例标题
25-pytest-参数化生成用例标题
25-pytest-参数化生成用例标题
|
测试技术 Python
02-pytest-用例运行规则
02-pytest-用例运行规则
|
测试技术 C++
pytest pytest.ini配置 用例分组 用例跳过
pytest pytest.ini配置 用例分组 用例跳过
|
测试技术 Python
pytest学习和使用2-初步使用和用例运行
pytest学习和使用2-初步使用和用例运行
95 0
pytest学习和使用2-初步使用和用例运行
|
JavaScript 测试技术
接口测试平台代码实现93:用例库name更改
在之前的多接口用例开发中,我发现了一个遗漏的功能。 就是用例的名字,没法进行更改。新建的用例也只会变成空名字,没法更改很难受,这个问题困扰很多同学一段日子了。今天我们来快速实现这个功能。 而且也可以借此来熟悉下 如何去动旧功能,动旧功能时候要注意什么。
接口测试平台代码实现93:用例库name更改