allure测试报告

news2025/2/23 3:29:04

使用pytest结合Allure进行测试报告生成的简单教程

allure测试报告


Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。

◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。

下载安装Allure:你可以从GitHub下载安装文件“allure2-2.13.3.zip”,解压后,将bin目录配置到环境变量中,然后在DOS窗口中输入“allure”,并按“Enter”键,如果显示“Usage”的话,说明设置成功。

使用如下命令执行:pytest.main(["-m","login","-s","-q","--alluredir=./report"])。

●“-m”:标记用例。

●“login”:被标记需要执行用例。

●“-s”:允许终端在测试执行时输出某些结果,例如你想输入print的内容,可以加上“-s”。

●“-q”:简化输出结果。

●“--alluredir”:生成Allure指定语法。

●“./report”:生成报告的目录。

●“--clean-alluredir”:因为这个插件库allure-pytest生成了报告文件,你第二次执行时不会清理掉里面的东西,所以你需要删除这个report文件夹,然后执行重新新建report文件夹命令。说明:命令执行后,程序会在report文件夹里面生成文件。 

定制报告


●feature:标注主要功能模块。

●story:标注features功能模块下的分支功能。

●severity:标注测试用例的重要级别。

blocker级别:致命缺陷。critical级别:严重缺陷。normal级别:一般缺陷,默认为这个级别。minor级别:次要缺陷。trivial级别:轻微缺陷。

●step:标注测试用例的重要步骤。

●attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据信息。

●name就是附件名称,body就是数据,attachment_type就是传类型。附件支持的类型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER。

●issue:这里传的是一个连接,记录的是你的问题。

●testcase:这里传的是一个连接,记录的是你的用例。

●description:描述用例信息。

import pytest,allure
 
@allure.feature("测试场景1")      #标记场景
class TestDemo():
      @allure.story("测试用例1-1") # 标记测试用例
      @allure.severity("trivial") # 标记用例级别
      def test_1_1(self): # 用例1
           a = 1 + 1
           assert a == 2
 
      @allure.story("测试用例1-2")
      @allure.severity("critical")
      @allure.step('用例2:重要步骤')
      def test_1_2(self):
           assert 2 == 2

通过main来执行测试用例,这时候程序会在report文件夹中生成一些JSON格式的文件

接下来回到DOS窗口,执行“allure generate --clean report”命令,可以看到新生成了一个allure-report文件夹,可以用浏览器打开index.html文件了

 ●区域一:显示报告生成的时间,执行的时间,一共执行了多少个测试用例,环状图显示用例通过的比例。

●区域二:显示的是测试集合(class)情况。

●区域三:显示的是测试场景(@allure.feature)。

●区域四:显示失败用例的信息。

 

安装必要的库


首先,确保已经安装了pytest和allure-pytest库。可以使用以下命令进行安装:


pip install pytest
pip install allure-pytest
 

用法说明 

1. 在测试代码中,使用pytest框架编写测试用例。确保你已经导入pytest和allure相关的模块。

2. 在每个测试用例函数上方添加`@allure.feature('Feature')`和`@allure.story('Story')`装饰器,用于指定测试用例所属的特性和故事。

3. 在测试用例函数上方添加`@allure.severity(allure.severity_level.CRITICAL)`装饰器,用于指定测试用例的严重程度。

4. 在需要添加附件的地方,使用`allure.attach()`方法添加附件。例如,在测试用例失败时,你可以添加失败截图或日志文件作为附件。

5. 在命令行中执行`pytest --alluredir=./report`命令,将测试结果生成为Allure报告的XML格式。

6. 使用`allure serve ./report`命令启动Allure服务,并自动打开生成的测试报告。

示例代码


import pytest
import allure

@allure.feature('登录模块')
@allure.story('用户登录')
@allure.severity(allure.severity_level.CRITICAL)
def test_user_login():
    with allure.step('步骤1:输入用户名和密码'):
        # 输入用户名和密码操作
        pass

    with allure.step('步骤2:点击登录按钮'):
        # 点击登录按钮操作
        pass

    with allure.step('步骤3:验证登录成功'):
        # 验证登录成功的断言
        pass

    with allure.step('步骤4:添加失败截图和日志文件作为附件'):
        # 添加失败截图和日志文件作为附件
        allure.attach.file('./screenshot.png', name='失败截图', attachment_type=allure.attachment_type.PNG)
        allure.attach.file('./log.txt', name='日志文件', attachment_type=allure.attachment_type.TEXT)

    assert True

if __name__ == '__main__':
    pytest.main(['-s', '-v', '--alluredir=./report'])

执行以上代码后,会在当前目录下生成一个`report`文件夹,包含测试结果的XML文件。然后,执行`allure serve ./report`命令,启动Allure服务并自动打开生成的测试报告。

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

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

相关文章

网站SSL安全证书是什么及其重要性

网站SSL安全证书具体来说是一个数字文件,是由受信任的数字证书颁发机构(CA机构)进行审核颁发的,其中包含CA发布的信息,该信息表明该网站已使用加密连接进行了安全保护。 网站SSL安全证书也被称为SSL证书、https证书和…

Stack的三种含义

学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。 理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。 含义一&…

新手小白如何快速使用家用电脑远程访问摄像头【内网穿透】

🎬 鸽芷咕:个人主页 🔥 个人专栏:《高质量编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! 文章目录 快速远程访问内网的摄像头前言具体操作步骤1. 打开“允许远程桌面”开关2. 建立TCP-IP隧道3. 获取生成的TCP-IP隧道…

蓝牙运动耳机哪个好、最好的运动蓝牙耳机品牌排行

在忙碌的都市生活中,人们往往容易迷失方向。音乐是一种良药,能够使心灵平静下来,找到正确的方向。生命需要运动,而有趣的运动更能让人们自由自在,释放身心。因此,运动和音乐天然地相辅相成。当我们佩戴一款…

深入了解ASEMI二极管APT80DQ60BG的功能与优点

编辑-Z 如果您是电子业内的人员,或者是想增加您关于二极管的知识,那么您一定不能错过今天我们要深度剖析的APT80DQ60BG二极管。这篇文章将帮助你深入理解这一二极管的功能、性能以及它在多种应用中的优点。 二极管APT80DQ60BG是一种半导体器件&#xff…

上下拉电阻

(一)上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻&#xff…

牛奶产业链的工业“链主品牌”利乐是如何诞生的?

瑞典的利乐公司,一个在乳品产业链中占据重要地位的“链主品牌”,通过提供创新的包装材料和解决方案,在全球范围内占据了显著的市场份额。利乐从不生产一滴奶,却赚取了中国乳业 75%的利润,一年创收超过 800 亿人民币。在…

「STC8A8K64D4开发板」第2-7讲:看门狗定时器

第2-7讲:看门狗定时器 学习目的了解看门狗定时器的作用。掌握看门狗定时器的应用和使用步骤。 看门狗定时器原理 看门狗定时器的作用 看门狗定时器(WDT:Watchdog Timer)的作用是在发生软件故障时(如程序陷入死循环或…

Golang-语言源码级调试器 Delve

前言 Go 目前的调试器有如下几种: GDB 最早期的调试工具,现在用的很少。LLDB macOS 系统推荐的标准调试工具,单 Go 的一些专有特性支持的比较少。Delve 专门为 Go 语言打造的调试工具,使用最为广泛。 本篇简单说明如何使用 Del…

printf %.*s 原来是这样

今天看代码时,看到这样一个printf,以前没见过这样的,也没这样用过,一下子还真不知道是什么意思: // Response is received. Print it struct mg_http_message *hm (struct mg_http_message *) ev_data; printf("…

今年的Prime Day2.0来了!亚马逊卖家爆单必做…

亚马逊的Prime Day已经成了全行业的零售假日,不仅仅是消费者离不开它,卖家也离不开这一年一度的狂欢销售盛宴。 回看刚刚过去的Prime Day大促,亚马逊在各方面都获得了较为不错的成绩。 根据亚马逊官方消息,在2023亚马逊Prime会员…

【网络】高级IO

目录 一、五种IO模型 1、阻塞IO 2、非阻塞IO 3、信号驱动 4、IO多路转接 5、异步IO 6、总结 二、高级IO重要概念 1、同步通信与异步通信 2、阻塞 vs 非阻塞 三、非阻塞IO 1、fcntl 2、实现函数SetNoBlock 四、IO多路转接select 1、select 1.1、参数解释 1.2、…

生信豆芽菜——配对型的复杂箱线图使用说明

网站:http://www.sxdyc.com/visualsBoxHalfPlot 一、配对型的复杂箱线图简介 配对型的复杂箱线图原理与箱线图相同,常见于配对样本的数据分析中,在日常研究中,我们会碰到配对资料,例如同一病人治疗前后的变化&#xff…

链表数组OJ题汇总

前言: 在计算机科学中,数组和链表是两种常见的数据结构,用于存储和组织数据。它们分别具有不同的特点和适用场景。 本博客将深入讨论数组和链表在OJ题目中的应用。我们将从基本概念开始,介绍数组和链表的定义和特点,并…

CSDN 我的资源在哪儿?资源上传后找不到?审核是否通过?

CSDN 我的资源在哪儿?资源上传后找不到?审核是否通过? 你是不是很奇怪,资源上传后,找不到了!因为他在你们的数据里面不叫“资源”,而是叫“下载”。反正就是怪怪的。 在哪儿查找我的资源&…

力扣221.最大正方形(动态规划)

思路: 思路:从[0,0]元素开始,计算每个元素对应其与[0,0]之间矩阵块中最大正方形边长情况:1)matrix [ i , j ] ‘0’ --> 元素对应的最大正方形为0。情况:2)matrix [ i , j ] ‘1’ -->…

Java基础入门篇——修饰符

在Java中,修饰符(Modifiers)是一种用于修改类、方法、变量和其他实体的访问权限、行为或特性的关键字。Java提供了一组修饰符,可以用于实现对代码的封装、继承、多态和访问控制等功能。 1、访问修饰符(Access Modifie…

如何将视频转换成音频mp3格式?试一下这几种转换方法

MP3格式是一种被广泛使用的音频格式,可以在几乎所有音频播放器和设备上播放。此外,由于视频文件通常包含大量图像信息,因此其文件大小通常比相应的音频文件要大得多。将视频转换为MP3格式音频可以大大减小文件大小,从而节省硬盘空…

Postman接口自动化测试实战,从0到1一篇彻底打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 postman中的测试 …

python办公自动化有用吗?,python办公自动化能干啥

大家好,小编来为大家解答以下问题,python办公自动化有用吗?,python办公自动化电子书,现在让我们一起来看看吧! 前 言 办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动&#x…