allure2报告中添加用例描述、用例优先级L2

1、Allure2 报告中添加用例描述

Allure2 用例描述

  • 应用场景:Allure 支持往测试报告中对测试用例添加非常详细的描述语,用来描述测试用例详情。
  • Allure 添加描述的四种方式:
    • 方式一:使用装饰器 @allure.description() 传递一个字符串参数来描述测试用例。
    • 方式二:使用装饰器 @allure.description_html 传递一段 HTML 文本来描述测试用例。
    • 方式三:直接在测试用例方法中通过编写文档注释的方法来添加描述。
    • 方式四:用例代码内部动态添加描述信息。

Allure2 用例描述

  • 方式一:添加装饰器@allure.description()
@allure.description("""
多行描述语:<br/>
这是通过传递字符串参数的方式添加的一段描述语,<br/>
使用的是装饰器 @allure.description
""")
def test_description_provide_string():
    assert True

Allure2 用例描述

  • 方式二:添加装饰器@allure.description_html()
@allure.description_html("""html代码块""")
def test_description_privide_html():
    assert True

Allure2 用例描述

  • 方式三:直接在代码中添加文档注释。
def test_description_docstring():
    """
    直接在测试用例方法中 </br>
    通过编写文档注释的方法 </br>
    来添加描述。 </br>
    :return:
    """
    assert True

Allure2 用例动态描述

  • 方式四:代码中添加动态描述信息。
import allure

@allure.description("""这个描述将被替换""")
def test_dynamic_description():
    assert 42 == int(6 * 7)
    allure.dynamic.description('这是最终的描述信息')
    # allure.dynamic.description_html(''' html 代码块 ''')

2、Allure2报告中添加用例优先级

Alluer2 报告中添加用例优先级

  • 应用场景:用例执行时,希望按照严重级别执行测试用例。
  • 解决:可以为每个用例添加一个等级的装饰器,用法:@allure.severity

Alluer2 报告中添加用例优先级

  • Allure 对严重级别的定义分为 5 个级别:
    • Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)。
    • Critical级别:临界缺陷( 功能点缺失)。
    • Normal级别:普通缺陷(数值计算错误)。(默认)
    • Minor级别:次要缺陷(界面错误与UI需求不符)。
    • Trivial级别:轻微缺陷(必输项无提示,或者提示不规范)。

Alluer2 报告中添加用例优先级

  • 使用装饰器添加用例方法/类的级别。
  • 类上添加的级别,对类中没有添加级别的方法生效。
  • 运行时添加命令行参数 --allure-severitiespytest --alluredir ./results --clean-alluredir --allure-severities normal,blocker
"""
@Author: 霍格沃兹测试开发学社-西西
@Desc: 更多测试开发技术探讨,请访问:https://ceshiren.com/t/topic/15860
"""
import allure

def test_with_no_severity_label():
    pass

@allure.severity(allure.severity_level.TRIVIAL)
def test_with_trivial_severity():
    pass

@allure.severity(allure.severity_level.NORMAL)
def test_with_normal_severity():
    pass


@allure.severity(allure.severity_level.NORMAL)
class TestClassWithNormalSeverity(object):

    def test_inside_the_normal(self):
        pass

    @allure.severity(allure.severity_level.CRITICAL)
    def test_critical_severity(self):
        pass

    @allure.severity(allure.severity_level.BLOCKER)
    def test_blocker_severity(self):
        pass


指定级别运行的时候,需要注意