Allure2 报告中添加用例分类

一. 简介

在测试过程中,为了更好地管理项目及其不同模块下的用例,我们可以利用 Allure 根据模块对用例进行分类,分类后的测试报告就不再是一堆平铺直叙的用例列表,而会变成一个有层级、有结构的专业测试报告。 这不仅有助于整理报告结构,还支持只运行特定类别下的用例。


二、Allure 添加用例分类

Allure 报告通过层级化的方式展示用例结构,通常包含 Epic(史诗)Feature(特性)Story(故事) 三个层级。

epic 与 feature,feature 与 story 类似于父子关系:

  • @allure.epic:史诗。对应敏捷开发中的概念,通常定义为一个大的项目或需求集。

  • @allure.feature:特性/功能模块。相当于一个具体的功能模块或测试套件,包含多个子分支。

  • @allure.story:故事/子功能。对应功能模块下的具体场景或分支功能。


2.1 项目/需求层级分类 - @allure.epic(name)装饰器

若要在测试报告中清晰地展示用例所属的项目,应使用 @allure.epic 装饰器。

该装饰器通常应用于测试类,而非单个测试用例,用于定义一个宏观的项目或需求集。由于其覆盖范围较广,我们通常会在 epic 之下,进一步使用粒度更细的 @allure.story 来定义具体的用户故事或业务场景,从而形成清晰的层级结构。

  • 语法:@allure.epic("项目需求描述")

  • 业务场景:安卓端手机基本功能测试

    • 定义项目分类(Android),记录其关联的测试用例

      • 代码示例

        python 复制代码
        import allure
        
        @allure.epic("Android")
        class TestEpic:
        
            def test_case1(self):
                print("拨打电话")
        
            def test_case2(self):
                print("发送短信")
        
            def test_case3(self):
                print("接听电话")
        
            def test_case4(self):
                print("链接WiFi")
        
            def test_case5(self):
                print("开启热点")
        • 效果如下
          • 直接显示URL

2.2 功能模块层级分类 - @allure.feature(name)装饰器

通过 @allure.feature(name) 可以将项目分类中进行模块基本的分类,使用例管理更清晰。

  • 语法:@allure.feature('功能名称')

  • 业务场景:安卓端手机存在多个模块如:电话、蓝牙、WiFi等

    • 定义模块分类(call、WiFi),记录和管理其模块内部用例

      • 代码示例

        python 复制代码
        import allure
        
        @allure.epic("Android")
        @allure.feature("call")
        class TestEpicCall:
        
            def test_case1(self):
                print("拨打电话")
        
            def test_case2(self):
                print("发送短信")
        
            def test_case3(self):
                print("接听电话")
        
        @allure.epic("Android")
        @allure.feature("WiFi")
        class TestEpicWifi:
        
            def test_case4(self):
                print("链接WiFi")
        
            def test_case5(self):
                print("开启热点")
        • 生成报告查看结果

2.3 子功能/场景层级分类 - @allure.story(name)装饰器

如果要在报告中看到测试的子功能的描述,可以使用 @allure.story

  • 语法:@allure.story('子功能名称')

    • 相同的子功能名称会被归类为一个子功能层级下
  • 业务场景:安卓端手机存在多个模块如:电话、蓝牙、WiFi等

    • 在模块分类下,按子功能进行进一步分类

      • 代码示例

        python 复制代码
        import allure
        	
        @allure.epic("Android")
        @allure.feature("call")
        class TestEpicCall:
        
            @allure.story("通讯功能")
            def test_case1(self):
                print("拨打电话")
        
            @allure.story("通讯功能")
            def test_case3(self):
                print("接听电话")
        
            @allure.story("发送短信")
            def test_case2(self):
                print("发送短信")
        
        @allure.epic("Android")
        @allure.feature("WiFi")
        class TestEpicWifi:
        
            @allure.story("链接WiFi")
            def test_case4(self):
                print("链接WiFi")
        
            @allure.story("开启热点")
            def test_case5(self):
                print("开启热点")
        • 生成报告查看结果
相关推荐
测试老哥1 小时前
Postman获取token并设置token依赖步骤
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
姚青&1 天前
Allure2 报告中添加用例链接
测试用例
A000—ic测试座(陈佳鑫)1 天前
国内国产替代的DC-DC芯片测试座企业整套解决方案
测试用例
程序员小远2 天前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试秃头怪2 天前
Postman中变量的使用
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
测试19983 天前
UI自动化测试:窗口截图&文件上传实战
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
咖啡星人k3 天前
2026 AI 自动化测试:让 AI 帮你写用例、跑测试、修 Bug(MonkeyCode 云端实战)
人工智能·功能测试·单元测试·测试用例·bug·集成测试