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)

大家都在看

  • numpy生成数组

    numpy 是重要的科学计算工具通过numpy我们可以生成模拟数据,比如随机生成一个数,随机生成一个服从正态分布的随机数1.1 创建数组在进行数学运算之前我们首先要创建数组。Num…

    Python 2023年8月29日
    0109
  • 【python-NOJ-季总结】—【第八季:Pandas库】—表格Dataframe的建立和使用

    本章内容写pandas库里的表格dataframe的相关使用。 内容包括: 表格的建立(传入参数和设置index), 添加行/列(append),表格的 筛选, 删除行/列(dro…

    Python 2023年8月16日
    087
  • pytest文档48-切换 base_url 测试环境(pytest-base-url)

    当我们自动化代码写完成之后,期望能在不同的环境测试,这时候应该把 base_url 单独拿出来,能通过配置文件和支持命令行参数执行。pytest-base-url 是 pytest…

    Python 2023年9月13日
    0118
  • DataFrame 数据框与Numpy ndarray 的转换

    在处理的数据的时候,最常遇到的就是使用 Pandas 的 Dataframe 与 Numpy 的 ndarray。以下以 mtcars 为例,该数据集包含 32 笔汽车模型的数据,…

    Python 2023年8月23日
    0122
  • 轻量级模型设计与部署总结

    前言 一些关键字理解 计算量 FLOPs 内存访问代价 MAC GPU 内存带宽 Latency and Throughput Volatile GPU Util 英伟达 GPU …

    Python 2023年10月24日
    090
  • python的基础认知

    我爱python~~ 他爱python~~ 你爱········ 今天就系统的带领大家来学习python的基础小白内容(高手也可以用来复习~) python是近几年来排名较高的编程…

    Python 2023年8月1日
    098
  • 对比学习 ——simsiam 代码解析。:

    目录 1 : 事先准备 。 2 : 代码阅读。 2.1: 数据读取 2.2: 模型载入 3 训练过程: 4 测试过程: 5 :线性验证 6 : 用自己数据集进行对比学习。 第一: …

    Python 2023年10月7日
    089
  • 【pygame学习+实战】第二篇:怀旧——飞机大战

    14天学习训练营导师课程:李宁《Python Pygame游戏开发入门与实战》李宁《计算机视觉OpenCV Python项目实战》1李宁《计算机视觉OpenCV Python项目实…

    Python 2023年9月22日
    096
  • 用深度强化学习玩FlappyBird

    摘要:学习玩游戏一直是当今 AI_研究的热门话题之一。使用博弈论/搜索算法来解决这些问题需要特别地进行周密的特性定义,使得其扩展性不强。使用深度学习算法训练的卷积神经网络模型( _…

    Python 2023年10月25日
    085
  • Python 爬取网页数据的两种方法

    Python 爬取网页数据的两种方法 1. 概述 2. 使用pandas 爬取网页数据 * 2.1 打开网页 2.2 打开 PyCharm 编译器 3.使用urllib爬取网页数据…

    Python 2023年8月1日
    0105
  • Solon v1.11.0 发布,Hello Java

    一个更现代感的 Java 应用开发框架:更快、更小、更自由。没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态。主框架仅 0.1 MB。 @Control…

    Python 2023年10月14日
    081
  • MIT6.828 Lab 1: C, Assembly, Tools, and Bootstrapping

    实现机器为VMWare的虚拟机,操作系统为 Debian-11(无桌面版本),内核版本为 5.10.0,指令集为 AMD64(i7 9700K),编译器为 GCC-10. 理论上只…

    Python 2023年10月14日
    077
  • 基于histomicstk库的染色标准化

    文章目录 前言 一、安装histomicstk 二、使用步骤 * 1.引入库 2.读入数据 3.函数调用 标准化结果 总结 前言 最近新发现的一种染色标准化方法,基于histomi…

    Python 2023年8月24日
    094
  • Django母婴商城(完整版)

    文章目录 * – 项目需求分析 – 一、母婴商城的路由设置 – 二、母婴商城的数据模型 – 三、配置母婴商城的视图函数 &#8211…

    Python 2023年8月4日
    097
  • Python学习笔记2(pygame深入研究,战机游戏)

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

    Python 2023年9月24日
    077
  • pandas 实现无关联key数据交叉连接(cross join)

    有两个数据帧,分别有一列col1,col2,他们没有相同的key: left = pd.DataFrame({‘col1’ : [‘A’, ‘B’, ‘C’]}) right = …

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