Allure2 报告中添加用例链接

一. Allure2 报告中添加用例连接

在 Allure 测试报告中,将测试用例与缺陷(Bug)进行关联,可以清晰地展示测试结果与项目需求之间的关系。

这种集成方式能帮助团队快速理解每个测试用例的背景和目的。特别是在测试失败或缺陷出现时,这种关联能显著提升问题定位和处理的效率。


1.1 添加任何自定义链接(使用@allure.link(url, name)装饰器)

通过自定义添加的链接信息默认仅显示URL或者字符,无特殊的图标显示

  • 代码示例

    python 复制代码
    import allure
    import pytest
    
    @allure.step('步骤1:登录')
    def simple_step1(username, password):
        '''定义一个测试步骤'''
        print(f"输入用户名: {username} ")
        print(f"输入密码: {password} ")
    
    @allure.step("步骤2:搜索")
    def simple_step2(step_param):
        '''定义一个测试步骤'''
        print(f"完成搜索 {step_param} 功能")
    
    # 直接显示URL
    @allure.link('https://blog.csdn.net/shiyu_951/article/details/164035280')
    @allure.title("验证登录功能")
    @pytest.mark.parametrize('username', ["admin", "user"])
    @pytest.mark.parametrize('password', ['123456', 'value2'])
    def test_parametrize_with_two_parameters(username, password):
        simple_step1(username, password)
        if username == 'admin':
            assert username == "admin" and password == "123456"
        elif username == 'user':
            assert username == "user" and password == "value2"
    
    # 显示 name 信息,不直接显示URL
    @allure.link('https://blog.csdn.net/shiyu_951/article/details/164035280', name='博客地址url')
    @allure.title("验证搜索功能")
    @pytest.mark.parametrize('param1', ["pytest", "allure"], ids=['search pytest', 'search allure'])
    def test_parameterize_with_id(param1):
        simple_step2(param1)
    • 效果如下
      • 直接显示URL

      • 显示 name 信息,不直接显示URL


1.2 关联测试管理系统中的测试用例链接(使用@allure.testcase(url, name)装饰器)

通过 @allure.testcase(url, name) 添加的链接信息前会带 case 资源图标

  • 代码示例

    python 复制代码
    import allure
    
    # 添加用例管理系统链接
    TEST_CASE_LINK = 'https://blog.csdn.net/shiyu_951/article/details/164035280'
    
    
    @allure.testcase(TEST_CASE_LINK, '用例管理系统')
    @allure.step
    @allure.title("验证登录功能")
    def test_double_int(username="admin", password="123456"):
        with allure.step("测试步骤一:输入用户名"):
            print(f"输入: {username} ")
        with allure.step("测试步骤二:输入密码"):
            print(f"输入: {password} ")
        with allure.step("测试步骤三:断言"):
            assert username == "admin" and password == "123456"
    • 生成报告查看结果

1.3 关联缺陷跟踪系统中的 Bug 链接(使用 allure.issue.title实现)

通过 @allure.issue(url, name) 添加的链接信息前会带 bug 图标

  • 代码示例

    python 复制代码
    import allure
    
    # 添加用例管理系统链接
    TEST_CASE_LINK = 'https://blog.csdn.net/shiyu_951/article/details/164035280'
    
    
    @allure.issue(TEST_CASE_LINK, '用例管理系统')
    @allure.step
    @allure.title("验证登录功能")
    def test_double_int(username="admin", password="123456"):
        with allure.step("测试步骤一:输入用户名"):
            print(f"输入: {username} ")
        with allure.step("测试步骤二:输入密码"):
            print(f"输入: {password} ")
        with allure.step("测试步骤三:断言"):
            assert username == "admin" and password == "123456"
    • 生成报告查看结果
相关推荐
2302_805771071 天前
Day13Jmeter数据驱动
功能测试·单元测试·测试用例·需求分析·测试
2302_805771071 天前
Day14Jmeter+数据库的操作
功能测试·单元测试·测试用例·需求分析
2302_805771072 天前
Day18在接口自动化测试中引入pytest用例管理框架
功能测试·单元测试·测试用例·需求分析·测试
梧桐凰3 天前
AI 时代测试工程师的武器库:实战工具指南
人工智能·功能测试·测试用例
测试老哥4 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
程序员杰哥5 天前
UI自动化测试:Jenkins配置
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
测试19987 天前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
2601_962300819 天前
基于pytest的接口自动化测试:使用requests模块的实战项目与接口关联方法详解
接口自动化测试·测试用例·pytest·接口关联·requests模块
可乐鸡翅yeah_9 天前
MPEG‑TS 分片 PTS/DTS 时间戳异常排错,HLS 音画不同步定位实战
运维·测试用例·音视频·媒体·m3u8