pytest中allure的装饰器的使用及作用

1. allure的常用装饰器

功能名称:@allure.feature("功能名称")
子功能名称:@allure.story("子功能名称")
步骤细节:@allure.step("步骤细节")

装饰器:@allure.title("用例名称")

装饰器:@allure.severity(allure. severity_level.用例级别)

用例级别取值(大写)
Blocker:中断
Critical :临界
Normal :普通
minor :次要
Trivial :轻微

装饰器:@allure.testcase(url,urltitle)

添加文本装饰器   @allure.attach("文本", "命名", attachment_type=allure.attachment_type.文本类型)

添加文件装饰器  @allure.attach.file("文件路径", name="命名", attachment_type=allure.attachment_type.文件类型)

 

2. 装饰器的使用方法

import allure


@allure.feature("登录模块")
class TestLogin:
    @allure.story("登录成功")
    def test_login_success(self):
        print("case:登录成功")

    @allure.story("登录失败1")
    def test_login_fail_a(self):
        print("case:登录失败,用户名缺失")

    @allure.story("登录失败2")
    def test_login_fail_b(self):
        print("case:登录失败,密码错误")

    @allure.story("登录步骤")
    def test_login_step(self):
        with allure.step("步骤1:打开应用"):
            pass
        with allure.step("步骤2:登录"):
            pass
        print("登录成功")
import allure


@allure.feature("登录模块")
class TestLogin:
    @allure.story("登录成功")
    def test_login_success(self):
        print("case:登录成功")
    
    @allure.title("添加用例名称")
    def test_login_title(self):
        assert True
import allure
#设置用例级别


@allure.feature("登录模块")
class TestLogin:
    @allure.story("登录成功")
    def test_login_success(self):
        print("case:登录成功")

    @allure.story("用例级别")
    @allure.severity(allure.severity_level.NORMAL)
    def test_login_level(self):
        assert True
import allure
#文本及文件添加

@allure.feature("登录模块")
class TestAllure:
    @allure.story("attcah")
    def test_login_attach(self):
        # 添加文本
        allure.attach("文本", attachment_type=allure.attachment_type.TEXT)
        # 添加网页
        allure.attach("<body>网页</body>", "网页名称", attachment_type=allure.attachment_type.HTML)
        # 添加图片
        allure.attach.file("./resource/photo/photo.jpg", name="图片", attachment_type=allure.attachment_type.JPG)
        # 添加mp4
        allure.attach.file("./resource/video/video.mp4", name="视频", attachment_type=allure.attachment_type.MP4)
        assert True

 

 

3. 上述的装饰器的作用

    1. 如果没有feature  story  step title attach 等装饰器,模块、步骤、附件都是没有的,不容易阅读,增加了之后,在生成的报告中,Behaviors项,可查看各功能、步骤信息 

    2. 在pytest 框架运行测试用例的时候,可以根据标签来指定运行标记的用例,比如 

      根据功能名称选择:pytest 文件名 --allure-features "功能名称"
      根据子功能名称选择:pytest 文件名 --allure-stories "子功能名称"

      pytest 文件名 --allure-severities 用例级别(小写)

    3. attach  和attachfile标签,是给用例添加文本说明和附件的,如果某个步骤执行失败了,截图了,则可以以附件的方式上传,或者上传报错的日志

 

 

 

 

 

原文地址:https://www.cnblogs.com/llbai/p/15651005.html

 

posted on 2022-01-06 14:46  ClareBaby01  阅读(1292)  评论(0编辑  收藏  举报