Pytest学习(二十二)- 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链接、测试用例链接】
示例代码如下:
# -*- coding: utf-8 -*-
# @Time : 2020/12/12 15:49
# @Author : longrong.lang
# @FileName: test_allurelink.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
import allure
from allure_commons.types import LinkType
@allure.issue("https://v.youku.com/v_show/id_XNDk5MDQyODI1Ng==.html", "youku 三个金币")
def test_issue():
pass
@allure.link("https://www.baidu.com/", link_type=LinkType.LINK, name="baidu")
def test_link():
pass
@allure.testcase("https://www.cnblogs.com/longronglang/", "久曲健博客园")
def test_testCase():
pass
运行结果,查看allure报告
-
test_issue
-
test_link
-
test_testCase
三、总结
三个装饰器的作用是一样的,都是超链接跳转,至于如何使用,请视自己情况,调整
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君
![](https://www.cnblogs.com/images/cnblogs_com/longronglang/1061549/o_QQ%E6%88%AA%E5%9B%BE20190728134401.jpg)