Pytest學習(二十二)- allure之@allure.link()、@allure.issue()、@allure.testcase()的使用

1、先看看三個裝飾器源碼

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)

2、知識點

  • issue()和testcase()其實調用的也是link(),只是link_type不同
  • 必傳參數 url:跳轉的連接
  • 可選參數 name:顯示在allure報告的名字,若是不傳就是顯示完整的連接;建議傳!!否則可讀性不高
  • 能夠理解成:三個方法是同樣的,咱們都提供跳轉連接和名字,只是連接的type不同,最終顯示出來的樣式不同而已【type不同,樣式不同】
  • 若是你喜歡,只用@allure.link()也能夠
  • 而出現三個裝飾器的緣由是爲了更好地將連接分類【訪問鏈接、Bug連接、測試用例連接】

示例代碼以下:html

# -*- 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報告python

  • test_issue
    測試

  • test_link
    url

  • test_testCase
    code

3、總結

三個裝飾器的做用是同樣的,都是超連接跳轉,至於如何使用,請視本身狀況,調整htm

相關文章
相關標籤/搜索