Allure定制报告

1、定制报告常用的装饰器

结合表和示例图查看

使用方法 参数值 参数说明 @allure.epic() 项目名称 项目名称,树结构第一层 @allure.feature() 模块名称 模块名称,树结构第二层 @allure.story() 用户故事 测试用例分组名,树结构第三层 @allure.title() 用例标题 测试用例标题,树结构第四层 @allure.severity() 用例等级/优先级 blocker,critical,normal,minor,trival @allure.description() 用例描述 用例描述 @allure.link() 自定义链接 @allure.issure() bug链接地址 @allure.testcase() 测试用例地址 @allure.step() 测试步骤 @allure.attachment() 附件

示例图

Allure定制报告

2、allure.dynamic在测试方法中动态添加定制

在对测试方法进行参数化的时候,使用 @allure.title装饰器只能对所有测试用例定制一样的标题,想要动态定制用例标题可以在测试方法中使用 allure.dynamic.title()来进行定制。
定制代码示例

login_data = [
   ("登录成功用例", "zhangsan", "password", "success"),
   ("密码错误用例", "zhangsan", "passwd", "failed_password"),
   ("用户不存在", "lisi", "password", "user_not_exists")
             ]
@pytest.mark.parametrize("case_title,username,password,expect_result", login_data)
def test_login(case_title, username, password, expect_result):
   print("登录测试")
   allure.dynamic.title(case_title)
   allure.dynamic.description(f"测试用例描述:此条用例期待结果:{expect_result}")

定制效果

Allure定制报告

实际上表中除了 epic所有定制都可以在测试方法中动态定制,具体如下图

Allure定制报告

3、用例等级的定制

  • blocker:阻塞缺陷,致命bug
  • critical:严重缺陷,功能未实现或错误
  • normal:一般缺陷(80%都是此类缺陷),默认等级
  • minor:次要缺陷,界面显示问题
  • trivial:轻微缺陷,提示问题

使用方法: @allure.severity(allure.severity_level.BLOCKER)

注意:
装饰符既可以修饰方法,也可以修饰类

[En]

The decorator can decorate both methods and classes

不修饰的情况下,默认等级为normal

4、用例描述的定制

  1. 使用装饰器
    @allure.description()
  2. 动态定制
    allure.dynamic.description()
@allure.title("注销用例标题1")
@allure.description("测试注销1")
def test_logout(self):
    print("注销")
    allure.dynamic.title("注销用例标题2")
    allure.dynamic.description("测试注销2")

注意:
使用动态定制将优先于使用装饰器定制

[En]

Using dynamic customization will override using decorator customization

5、链接的定制

  • 测试用例链接: @allure.testcase(url=链接地址,name=名称)
  • bug链接: @allure.issue(url=链接地址,name=名称)
  • 自定义链接: @allure.link(url=链接地址,name=名称)
@allure.link(url="https://passport.jd.com/new/login.aspx", name="登录地址")
@allure.issue(url="https://www.google.com", name="bug列表地址1")
@allure.testcase(url="https://testlink.org/", name="测试用例地址1")
@pytest.mark.parametrize("case_title,username,password,expect_result", login_data)
def test_login(self, case_title, username, password, expect_result):
    print("登录测试")
    allure.dynamic.link(url="https://www.baidu.com",name="登录链接")
    allure.dynamic.issue(url="https://www.baidu.com", name="bug列表地址2")
    allure.dynamic.testcase(url="https://www.baidu.com", name="测试用例地址2")

注意:
链接同样支持动态定制
动态定制不会覆盖装饰者定制,并显示所有链接

[En]

Dynamic customization does not override decorator customization and displays all links

6、步骤的定制

  1. 使用装饰器
    @allure.step()
  2. 在测试方法内使用
    with allure.step():

示例:

@allure.epic("电商项目")
@allure.feature("购物车模块")
class TestCart:
    @allure.step("第一步,测试加入购物车")
    @allure.story("测试添加购物车方法")
    @allure.title("加入购物车测试用例")
    def test_add_cart(self):
        # 第一步,登录
        with allure.step("第一步,登录"):
            print("登录成功")
        # 第二步,搜索商品
        with allure.step("第二步,搜索商品"):
            print("搜索成功")
        # 第三步,将商品加入购物车
        with allure.step("第三步,加入购物车"):
            print("加入购物车成功")
        # 第四步,打开购物车
        with allure.step("第四步,打开购物车"):
            print("打开购物车成功")
        # 第五步,断言验证是否添加成功
        with allure.step("第五步,断言验证是否加入成功"):
            print("验证加入购物车通过")

Allure定制报告

7、附件的定制

使用 allure.attachment对附件进行定制
参数:

  • body:附件内容
  • name:附件名称
  • attachment_type:附件类型,支持的类型如下

  • UI自动化项目

def test_register(self):
    print("注册测试")
    with open("./allure_demo/screen_shot/fail_snap.jpg","rb") as f:
        allure.attach(body=f.read(), name="注册测试失败截图", attachment_type=allure.attachment_type.JPG)

Allure定制报告
2. 接口自动化项目
def test_search_api():
    allure.attach(body=url, name="请求地址", attachment_type=allure.attachment_type.TEXT)
    allure.attach(body=json.dumps(params), name="请求参数", attachment_type=allure.attachment_type.TEXT)
    resp = requests.get(url, params=params)
    allure.attach(body=resp.text,  name="响应数据", attachment_type=allure.attachment_type.TEXT)

Allure定制报告

Original: https://www.cnblogs.com/qishuaiRisen/p/16644656.html
Author: 睡觉大王Risen
Title: Allure定制报告

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/498537/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python-Matplotlib画图教程

    Matplotlib绘图流程 创建画布 绘制图像 显示图像 下面代码演示 #简单画布 imp…

    Python 2023年9月6日
    077
  • Java实战-用Java mail实现Exchange发邮件给你喜欢的人

    目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api * 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个Ma…

    Python 2023年9月17日
    085
  • 解决Django migrate: Your models in app(s): ‘Mymodelclassname‘ have changes that are not yet reflected

    这是一个”小”问题,但稍不注意会很令人困扰。在Django项目根目录下执行命令 $python manage.py makemigrations 没有异常信…

    Python 2023年8月3日
    064
  • Python+Flask对MySQL数据库进行增删查改并在页面展示数据

    Python+Flask对MySQL数据库进行增删查改并在页面展示数据 一、python连接mysql数据库 * 1. 安装pymysql驱动 2. 数据库表测试数据 3. 连接数…

    Python 2023年8月9日
    078
  • dataframe的head方法_DataFrame

    DataFrame 表示矩阵数据表,有行索引和列索引。 构建方式 In [43]: data = {‘state’: [‘Ohio’…

    Python 2023年8月7日
    052
  • Python飞机大战

    存在四个对象:我方飞机、敌方飞机、我方子弹、敌方子弹功能: 背景音乐的添加 我方飞机可以移动【根据按键来控制的】敌方飞机也可以移动【随机的自动移动】 双方飞机都可以发送子弹 步骤:…

    Python 2023年9月18日
    050
  • 程序员日常快捷入口大全

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年11月4日
    068
  • Flask 框架学习_2(构造URL + 指定HTTP方法)

    通过url_for 构造URL 首先我们要先了解url_for是做什么的函数。通过前面的学习我们已经知道我们可以通过一个URL映射到一个函数。反过来当我们知道这个函数的时候,想要获…

    Python 2023年8月12日
    042
  • 接口测试面试题

    1、从开发手中拿到接口文档,熟悉接口文档的内容,通过文档熟悉接口实现# 的功能,请求地址,请求方式,参数,以及是否有加密,熟悉正常和异常的 响应码有哪些,熟悉参数的约束条件,编写不…

    Python 2023年6月12日
    069
  • yolov5检测小目标(附源码)

    yolov5小目标检测(图像切割法附源码) 6.30 更新切割后的小图片的label数据处理 前言 yolov5大家都熟悉,通用性很强,但针对一些小目标检测的效果很差。YOLOv5…

    Python 2023年8月1日
    071
  • bbs项目之登录功能

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    Python 2023年5月23日
    071
  • tracing

    tracing:通过元数据span context (traceid spanid 父级spanid span_context )传播达到跟踪链路,具体来说 【服务调用者】在请求h…

    Python 2023年6月6日
    056
  • flask实现mysql连接池_【15】Flask 数据库连接池

    01 如何在python中操作数据库? 在后端开发中免不掉与数据库打交道,无非是使用orm或者原生sql来操作数据库。 在python中通过原生sql操作数据库,主流就两种。 使用…

    Python 2023年8月14日
    058
  • 二叉树的重建问题

    二叉树的重建问题 作者:Grey 原文地址: 博客园:二叉树的重建问题 CSDN:二叉树的重建问题 说明 二叉树的各种遍历见二叉树的先,中,后序遍历(递归,非递归,Morris方法…

    Python 2023年10月21日
    046
  • Python工具箱系列(十八)

    非对称加解密应用广泛,它的存在是致力于解决密钥通过公共信道传输这一经典难题。对称加密有一个天然的缺点,就是加密方和解密方都要持有同样的密钥,而这个密钥在传递过程中有可能会被截获,从…

    Python 2023年10月30日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球