Python Allure注解释义装饰器解释,allure的方法使用示例

Python Allure注解释义装饰器解释,allure的方法使用示例,第1张

目录标题
    • Allure的装饰器解释
      • @allure.parent_suite,@allure.suite,@allure.sub_suite
      • @allure.epic, @allure.feature, @allure.story,@allure.title
      • @allure.id,@allure.link,@allure.label,@allure.issue,@allure.description,@allure.severity,@allure.tag,@allure.testcase,@allure.description_html
        • @allure.description_html不存在时
        • @allure.severity的参数说明
        • @allure.link的参数说明
    • 调试的示例代码
    • allure.dynamic的用法

Allure的装饰器解释

前置条件

allure-pytest==2.9.45
allure-python-commons==2.9.45
@allure.parent_suite,@allure.suite,@allure.sub_suite
@allure.parent_suite,@allure.suite,@allure.sub_suite对应的是
allure报告中的测试套的三个级别.爷爷父亲儿子.然后下一级就是测用例的标题.

@allure.epic, @allure.feature, @allure.story,@allure.title
@allure.epic, @allure.feature, @allure.story,@allure.title对应
功能中的一级菜单,二级菜单,三级菜单,用例标题

@allure.id,@allure.link,@allure.label,@allure.issue,@allure.description,@allure.severity,@allure.tag,@allure.testcase,@allure.description_html
@allure.id 用例id,@allure.link 用例的超链接,@allure.label 用例的标签
@allure.issue 记录用例的问题(超链接),@allure.description 用例的描述
@allure.severity 用例的优先级,@allure.tag 用例的标记,@allure.testcase 记录用例的地址(超链接)
@allure.description_html 用例的描述的网址(超链接),若存在description_html则@allure.description不显示

@allure.description_html不存在时

@allure.severity的参数说明

优先级的参数,也可以直接用后面的字符

class Severity(str, Enum):
    BLOCKER = 'blocker'
    CRITICAL = 'critical'
    NORMAL = 'normal'
    MINOR = 'minor'
    TRIVIAL = 'trivial'

@allure.link的参数说明
class LinkType(object):
    LINK = 'link'
    ISSUE = 'issue'
    TEST_CASE = 'test_case'

可以看到有三种link类型,link也可以是 issue

调试的示例代码
import allure
import pytest
from allure_commons.types import LinkType, Severity


@allure.parent_suite('我是parent_suite')
@allure.suite('我是suite')
@allure.sub_suite('我是sub_suite')
@allure.epic('我是epic')
@allure.feature('我是feature')
@allure.story('我是story')
class TestAllureDemo:
    @allure.id('我是id')
    @allure.title('我是title')
    @allure.link('https://www.baidu.com/', LinkType.ISSUE, '我是link_ISSUE')
    @allure.label('我是label')
    @allure.issue('https://www.baidu.com/', '我是issue')
    @allure.description('我是description')
    @allure.severity(Severity.BLOCKER)
    @allure.tag('我是tag')
    @allure.testcase('https://www.baidu.com/', 'testcase')
    def test_01(self):
        self.assert_one(1, 1)

    @allure.step('我是断言')
    def assert_one(self, a, b):
        assert a == b

    @allure.id('我是id')
    @allure.title('我是title')
    @allure.link('https://www.baidu.com/', LinkType.LINK, '我是link')
    @allure.label('我是label')
    @allure.issue('https://www.baidu.com/', '我是issue')
    @allure.description('我是description')
    @allure.severity('我是severity')
    @allure.tag('我是tag')
    @allure.testcase('https://www.baidu.com/', '我是testcase')
    def test_02(self):
        allure.dynamic.mro()
        allure.dynamic.title('我是修改后的title')
        allure.dynamic.link('https://www.baidu.com/', LinkType.LINK, '我是修改后的link')
        allure.dynamic.label('我是修改后的label')
        allure.dynamic.issue('https://www.baidu.com/', '我是修改后的issue')
        allure.dynamic.description('我是修改后的description')
        allure.dynamic.severity('我是修改后的severity')
        allure.dynamic.tag('我是修改后的tag')
        allure.dynamic.testcase('https://www.baidu.com/', '我是修改后的testcase')
        assert 1 > 1

allure.dynamic的用法

allure.dynamic主要是用于动态的修改用例在报告中的一些参数,下面列举了所有的可改的参数

    @allure.id('我是id')
    @allure.title('我是title')
    @allure.link('https://www.baidu.com/', LinkType.LINK, '我是link')
    @allure.label('我是label')
    @allure.issue('https://www.baidu.com/', '我是issue')
    @allure.description('我是description')
    @allure.severity('我是severity')
    @allure.tag('我是tag')
    @allure.testcase('https://www.baidu.com/', '我是testcase')
    def test_02(self):
        allure.dynamic.mro()
        allure.dynamic.title('我是修改后的title')
        allure.dynamic.link('https://www.baidu.com/', LinkType.LINK, '我是修改后的link')
        allure.dynamic.label('我是修改后的label')
        allure.dynamic.issue('https://www.baidu.com/', '我是修改后的issue')
        allure.dynamic.description('我是修改后的description')
        allure.dynamic.severity('我是修改后的severity')
        allure.dynamic.tag('我是修改后的tag')
        allure.dynamic.testcase('https://www.baidu.com/', '我是修改后的testcase')
        assert 1 > 1

示例

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/723390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存