pytest系列——allure之集成缺陷管理系统和测试管理系统(@allure.link()、@allure.issue()、@allure.testcase()

前言

allure测试报告框架提供了@allure..link、@allure.issue、@allure.testcase 这三个装饰器,可以用来与缺陷管理系统和测试管理系统集成。

三个装饰器源码

def link(url, link_type=LinkType.LINK, name=None):
    return safely(plugin_manager.hook.decorate_as_link(url=url, link_type=link_type, name=name))


def issue(url, name=None):
    return link(url, link_type=LinkType.ISSUE, name=name)


def testcase(url, name=None):
    return link(url, link_type=LinkType.TEST_CASE, name=name)
知识点
  • issue()和testcase()其实调用的也是link(),只是link_type不一样
  • 必传参数 url:跳转的链接
  • 可选参数 name:显示在allure报告的名字,如果不传就是显示完整的链接;建议传!!不然可读性不高
  • 可以理解成:三个方法是一样的,我们都提供跳转链接和名字,只是链接的type不一样,最终显示出来的样式不一样而已【type不一样,样式不一样】
  • 如果你喜欢,只用@allure.link()也可以
  • 而出现三个装饰器的原因是为了更好地将链接分类【访问连接、Bug链接、测试用例链接】

举例

# file_name: test_allure_links.py


import pytest
import allure


@allure.link("https://www.cnblogs.com/lwjnicole/")
def test_with_link():
    """
    @allure.link() 指定与测试用例关联的链接,比如需求地址
    :return:
    """
    assert True


@allure.link("https://www.cnblogs.com/lwjnicole/", name="点我访问")
def test_with_link_named():
    """
    @allure.link() 通过指定name的方式来指定关联链接,测试报告中用name替换实际URL展示
    :return:
    """
    assert True


@allure.issue("https://www.cnblogs.com/lwjnicole/p/14472386.html")
def test_with_issue_link():
    """
    @allure.issue() 可以与缺陷管理系统相关联,指定与该测试用例相关联的bug链接地址
    :return:
    """
    assert True


@allure.testcase("https://www.cnblogs.com/lwjnicole/p/14466997.html")
def test_with_testcase_link():
    """
    @allure.testcase() 可以与测试用例管理工具相关联,指定与该测试用例关联的测试用例地址
    :return:
    """
    assert True


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_links.py'])

执行命令:

> pytest test_allure_links.py --alluredir=./report/result_data

> allure serve ./report/result_data

查看测试报告展示效果:

1、装饰器: @allure.link("https://www.cnblogs.com/lwjnicole/")

@allure.link() 指定与测试用例关联的链接,比如需求地址

pytest系列——allure之集成缺陷管理系统和测试管理系统(@allure.link()、@allure.issue()、@allure.testcase()_第1张图片

2、装饰器: @allure.link("https://www.cnblogs.com/lwjnicole/", name="点我访问")

@allure.link() 通过指定name的方式来指定关联链接,测试报告中用name替换实际URL展示

pytest系列——allure之集成缺陷管理系统和测试管理系统(@allure.link()、@allure.issue()、@allure.testcase()_第2张图片

3、装饰器: @allure.issue("https://www.cnblogs.com/lwjnicole/p/14472386.html")

@allure.issue() 可以与缺陷管理系统相关联,指定与该测试用例相关联的bug链接地址

这个测试报告中可以看到,通过装饰器@allue.issue可以指定bug的链接地址,并且会在测试报告的Links部分展示,链接的左边会带上一个bug的小图标。

pytest系列——allure之集成缺陷管理系统和测试管理系统(@allure.link()、@allure.issue()、@allure.testcase()_第3张图片

4、装饰器: @allure.testcase("https://www.cnblogs.com/lwjnicole/p/14466997.html")

@allure.testcase() 可以与测试用例管理工具相关联,指定与该测试用例关联的测试用例地址

pytest系列——allure之集成缺陷管理系统和测试管理系统(@allure.link()、@allure.issue()、@allure.testcase()_第4张图片

总结

综上,allure可以使用@allure..link、@allure.issue、@allure.testcase 这三个装饰器,与缺陷管理系统和测试管理系统进行集成,做到更好的自动化管理。

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

你可能感兴趣的:(pytest,issue)