软件测试学习笔记丨allure学习指南

news2024/12/25 16:13:42

在这里插入图片描述

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32336

安装与下载

需要下载本地文件,并且添加到环境变量里

windows:下载,解压,并配置环境变量
mac:brew install allure

环境变量:将bin目录纳入path路径中

python安装第三方依赖

win:pip install allure-pytest

mac:pip3 install allure-pytest

allure-pytest依赖会自动安装Allure-pytest和Allure-python-commons包,以生成与Allure 2兼容的报告数据

基本用法

命令行执行,在进行pytest测试时,生成allure数据: pytest --allure=./allure-results

命令行执行,将生成的allure数据解析出来,展示在浏览器中: allure serve ./allure-results

Allure 注解

使用方法参数值参数说明
@allure.epic()epic描述敏捷里面的概念,定义史诗,往下是feature
@allure.feature()模块名称功能点的描述,往下是story
@allure.story()用户故事用户固戍,往下是title
@allure.title用例的标题重命名HTML报告名称
@allure.testcase()测试用例的链接地址对应功能测试用例系统里的case
@allure.issue缺陷对应缺陷管理系统里面的链接
@allure.description()用例描述测试用例的描述
@allure.step()操作步骤测试用例的步骤
@allure.severity()用例等级blocker,critical,normal,minor,trivial
@allure.link()链接定义一个链接在测试报告展示
@allure.attachment()附件报告添加附件

import allure
import pytest
 
@allure.feature('test_success')
def test_success():
    """this test succeeds"""
    assert True
 
@allure.feature('test_failure')
def test_failure():
    """this test fails"""
    assert False
 
@allure.feature('test_skip')
def test_skip():
    """this test is skipped"""
    pytest.skip('for a reason!')
 
@allure.feature('test_broken')
def test_broken():
    raise Exception('oops')
 
if __name__ == '__main__':
    # pytest.main(["-s","allure-test.py"])
    '''
    -q: 安静模式, 不输出环境信息
    -v: 丰富信息模式, 输出更详细的用例执行信息
    -s: 显示程序中的print/logging输出
    '''
    pytest.main(['-s', '-q','test_allure02.py','--clean-alluredir','--alluredir=allure-results'])
    os.system(r"allure generate -c -o allure-report")

在报告中添加图片附件,文件附件

安装第三方依赖

pip install pytest-allure-adaptor

@allure.attach的用法

1、 allure.attach(body,name,attachment_type,extension)
参数说明:

  • body: 要写入附件的内容
  • name: 附件名字
  • attachment_type: 附件类型,是allure.attachment_type 其中一种
  • extension: 附件的拓展名

2、 allure.attach.file(source,name,attachment_type,extension)
参数说明:

  • source: 文件路径,相当于传一个文件
  • name: 附件名字
  • attachment_type:附件类型,是allure.attachment_type其中的一种
  • extension: 附件的拓展名

使用范例(添加文本文件)

# file_name: test_allure_attachments.py


import pytest
import allure


@pytest.fixture()
def attach_for_text():
    allure.attach(body="这是一段文本,setUp", name="test文本01", attachment_type=allure.attachment_type.TEXT)
    yield
    allure.attach(body="这是一段文本,teardown", name="test文本02", attachment_type=allure.attachment_type.TEXT)


def test_attachment_text(attach_for_text):
    pass


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_attachments.py'])

使用范例(添加图片和html)

# file_name: test_allure_attachments.py


import pytest
import allure


def test_mutiple_attachments():
    allure.attach.file("./pytest_study/image/pikaqiu.jpg", attachment_type=allure.attachment_type.JPG)

    allure.attach("<html><body><font color='red'>这是一段html</font></body></html>",
                  attachment_type=allure.attachment_type.HTML)


if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_attachments.py'])

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1688代采系统-反向海淘系统详细介绍

Onebound凡邦1688代采系统-反向海淘系统是一种专为海外买家及跨境电商提供一站式采购解决方案的平台。其核心功能和服务旨在解决跨境采购中的语言、货币等常见问题&#xff0c;并优化采购流程&#xff0c;提高采购效率。以下是对该系统的详细介绍。 一、核心功能 商品采集与展…

==与equals比较

在JVM中&#xff0c;内存分为堆内存跟栈内存。他们二者的区别是&#xff1a; 当我们创建一个对象&#xff08;new Object&#xff09;时&#xff0c;就会调用对象的构造函数来开辟空间&#xff0c;将对象数据存储到堆内存中&#xff0c;与此同时在栈内存中生成对应的引用&#…

【AI绘画】如何选择AI绘画工具?Midjourney VS Stable Diffusion?

前言 文章目录 &#x1f4af;如何选择合适的AI绘画工具 个人需求选择比较工具特点社区和资源 &#x1f4af; Midjourney VS Stable Diffusion&#xff1a;深度对比与剖析 使用费用对比使用便捷性与系统兼容性对比开源与闭源对比图片质量对比上手难易对比学习资源对比作品版权…

猎头是这样看简历的?

猎头在看简历时&#xff0c;会遵循一系列高效而系统的步骤&#xff0c;以确保筛选出最适合客户需求的候选人。以下是对猎头如何看简历的详细分析&#xff0c;内容虽无法精确控制在3000字以内&#xff0c;但将尽量精简并涵盖关键信息&#xff1a; 一、初步浏览与筛选 1.基本信…

FLIR AX8 download.php 任意文件读取复现

0x01 产品描述&#xff1a; FLIR-AX8是美国菲力尔公司&#xff08;Teledyne FLIR&#xff09;旗下的一款工业红外热像仪AX8&#xff0c;英文名为Teledyne FLIR AX8 thermal sensor cameras。菲力尔公司专注于设计、开发、生产、营销和推广用于增强态势感知力的专业技术&#xf…

栈与队列面试题(Java数据结构)

前言&#xff1a; 这里举两个典型的例子&#xff0c;实际上该类型的面试题是不确定的&#xff01; 用栈实现队列&#xff1a; 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;双栈 思路 将一个栈当作输入栈&#xff0c;用于压入 push 传入的数…

传统少数民族物品检测系统源码分享

传统少数民族物品检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

【C语言】分支和循环(3)

&#x1f600;个人主页: 起名字真南 &#x1f601;个人专栏 目录 1 for 循环1.1 语法形式1.2 执行流程图1.3 for循环的实践 2 do-while循环2.1 语法形式2.2 执行流程图2.3 do-while循环的实践 3 break 和 continue 语句4 goto语句 1 for 循环 1.1 语法形式 for循环是三种循环…

【Centos】系统安装虚拟系统管理器创建虚拟机

在windows服务器里使用vmware等工具轻松建立虚拟服务器&#xff0c;可以安装各种操作系统。 在Centos系统中默认安装菜单的系统工具中没有找到这个管理器的启动菜单&#xff0c;默认没有安装。 想使用KVM虚拟系统创建虚拟机如何操作呢&#xff1f;最简单就是下面这些命令&…

ViT(Vision Transformer详解)

Transformer作为前沿的深度学习框架&#xff0c;带有多模态的特性&#xff0c;对于不同类型的输入数据&#xff0c;不管是文本还是图像均可进行处理&#xff0c;而ViT则是对于Transformer中的视觉方面&#xff08;也就是输入数据为图像&#xff09;的衍生物&#xff08;因Trans…

从基础到精通:构建并微调大型语言模型以实现分类任务

本章内容 介绍不同的大型语言模型&#xff08;LLM&#xff09;微调方法准备用于文本分类的数据集修改预训练LLM以便进行微调微调LLM以识别垃圾信息评估微调后的LLM分类器的准确性使用微调后的LLM对新数据进行分类 到目前为止&#xff0c;我们已经编写了LLM的架构、对其进行了…

小程序和h5深度分析

你写过小程序/H5&#xff0c;那你知道他们的区别在哪里吗&#xff1f; 为什么说小程序的性能通常优于 H5? 小程序能访问到 DOM 对象吗&#xff1f; 小程序的原理是什么&#xff1f; 小程序和 H5 都是轻量级的、可直接在移动设备上运行的应用&#xff0c;但它们之间存在一些关…

C语言的类型提升机制

概念 在C语言中&#xff0c;整数类型按照其大小可以分为以下几类&#xff08;从小到大&#xff09;&#xff1a; charshortintlonglong long 当在表达式中涉及这些类型的混合运算时&#xff0c;较小的类型会被提升为较大的类型。具体规则如下&#xff1a; ①char 和 short …

【NLP自然语言处理】02 - NLP简介/NLP发展历史/应用场景

1.什么是自然语言处理 (NLP) 自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能的一个重要分支&#xff0c;旨在通过计算机实现对人类自然语言的理解、生成和互动。其核心任务包括分析、生成和转换人类语言&#xff0c;涉及语法、语义、语音识…

Mapsui绘制WKT的示例

步骤 创建.NET Framework4.8的WPF应用在NuGet中安装Mapsui.Wpf 4.1.7添加命名空间和组件 <Window x:Class"TestMapsui.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winf…

基于单片机的烧水壶系统设计

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52RC单片机&#xff0c;采用四个按键&#xff0c;通过DS18B20检测温度&#xff0c;开机显示实时温度 第一个按键为切换功能按键&#xff0c;按下后&#xff0c;可以设置烧水温度的大小&…

codetop标签双指针题目大全解析(三),双指针刷穿地心!!!!!

复习比学习更重要&#xff0c;更需要投入时间&#xff0c;更需要花费精力 1.字符串的排列2.找出字符串中第一个匹配的下标3.最大连续1的个数II4.数组中的山脉5.移除元素6.两个数组的交集II7.有序数组的平方8.删除有序数组中的重复项II9.寻找重复数10.水果成篮 1.字符串的排列 …

HUAWEI_HCIA_实验指南_Lib1.4_配置通过Telnet登录系统

一、原理概述 Telnet(Telecommunication Network Protocol)起源于ARPANET,是最早的Internet应用之一。 Telnet 通常用在远程登录应用中&#xff0c;以便对本地或远端运行的网络设备进行配置、监控和维护。如网络中有多台设备需要配置和管理&#xff0c;用户无需为每一台设备…

C++ 算法学习——7.4.1 优化算法——双指针

双指针法&#xff08;Two Pointers&#xff09;是一种常用的算法技巧&#xff0c;通常用于解决数组或链表中的问题。这种技巧通过维护两个指针&#xff0c;通常分别指向数组或链表的不同位置&#xff0c;来协同解决问题。双指针法一般有两种类型&#xff1a;快慢指针和左右指针…

查询计算移出数据库用 Java 太慢咋办

很多现代应用会把数据计算和处理任务从数据库移出来采用 Java 实现&#xff0c;这样能获得架构上的好处&#xff0c;而且 Java 有完善过程处理能力&#xff0c;应对日益复杂的业务逻辑比 SQL 更得心应手&#xff08;虽然代码不短&#xff09;。不过&#xff0c;我们常常会发现&…