一. Allure2 报告中添加用例连接
在 Allure 测试报告中,将测试用例与缺陷(Bug)进行关联,可以清晰地展示测试结果与项目需求之间的关系。
这种集成方式能帮助团队快速理解每个测试用例的背景和目的。特别是在测试失败或缺陷出现时,这种关联能显著提升问题定位和处理的效率。
1.1 添加任何自定义链接(使用@allure.link(url, name)装饰器)
通过自定义添加的链接信息默认仅显示URL或者字符,无特殊的图标显示
-
代码示例
pythonimport 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 资源图标
-
代码示例
pythonimport 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 图标
-
代码示例
pythonimport 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"- 生成报告查看结果

- 生成报告查看结果