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.attach.flie 上传文件
      • allure.attach 上传文本
      • Allure 命令

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

示例

allure方法 allure.attach.flie 上传文件
    def allure_attach_file(file_path):
        info = '上传文件&'
        # 文件路径,文件名
        allure.attach.file(file_path, f"{info}{os.path.basename(file_path)}")

allure.attach 上传文本
    def allure_attach_text(body, name):
    	# 文本内容,文本名
        allure.attach(body, name)

例如 allure_attach_body(“我是测试文本”, “测试文本111”)

Allure 命令

点我去查看,Allure命令,生成并打开报告,指定报告的ip和端口等(多系统通用)

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

原文地址: http://outofmemory.cn/langs/742968.html

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

发表评论

登录后才能评论

评论列表(0条)

保存