当前位置: 首页 > news >正文

allure测试报告

使用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): # 用例1a = 1 + 1assert 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:输入用户名和密码'):# 输入用户名和密码操作passwith allure.step('步骤2:点击登录按钮'):# 点击登录按钮操作passwith allure.step('步骤3:验证登录成功'):# 验证登录成功的断言passwith 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 Trueif __name__ == '__main__':pytest.main(['-s', '-v', '--alluredir=./report'])

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

相关文章:

allure测试报告

使用pytest结合Allure进行测试报告生成的简单教程 allure测试报告 Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。 ◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。 下载安装Allure…...

Vue 路由懒加载

Vue 路由懒加载 随着 Web 应用的复杂性不断增加,性能优化成为了开发人员必须面对的挑战之一。Vue 路由懒加载是一项关键技术,它可以帮助我们提高 Web 应用的加载速度,从而提升用户体验。 在本篇技术博文中,我们将深入探讨 Vue 路…...

软件设计师(七)面向对象技术

面向对象: Object-Oriented, 是一种以客观世界中的对象为中心的开发方法。 面向对象方法有Booch方法、Coad方法和OMT方法等。推出了同一建模语言UML。 面向对象方法包括面向对象分析、面向对象设计和面向对象实现。 一、面向对象基础 1、面向对象的基本…...

Qt中将信号封装在一个继承类中的方法

QLabel标签类对应的信号如下: Qt中标签是没有双击(double Click)这个信号的; 需求一:若想双击标签使其能够改变标签中文字的内容,那么就需要自定义一个“双击”信号,并将其封装在QLabel类的派生…...

Docker介绍

1. docker是什么 1.1 为什么会有docker出现? 假设你在开发一个项目的时候,你使用的是windows系统而且你的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。你正在开发的应用依赖于你当前的配置而且还要依赖于某些配置文件。此外&#xf…...

C++红黑树

一、红黑树的概念 红黑树是一种二叉搜索树,在其每个节点上增加一个存储位用于表示节点的颜色,可以是Red或Black 通过对任何一条从根到叶子的路径上的各个节点着色方式的限制,红黑树确保没有一条路径比其他路径长两倍 红黑树的性质&#xff…...

LangChain与大模型的学习ing

大模型的菜鸟初学习 一、问题记录1、库的版本问题 二、实例记录1、公司名生成2、提示模板的使用3、LLM Chain4、LLMMemory5、聊天语言API 参考资料 一、问题记录 1、库的版本问题 openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(ho…...

Go把Map转成对象

最近使用了Redis的Hash,把一个对象给存储到了hash里面,具体如下: 现在需要从RedisHash缓存里面把结果给取出来,同时赋值到一个对象上面 result, err : global.GVA_REDIS.HGetAll(context.Background(), key).Result() 问题是resul…...

Java-网络编程

TCP TCP(Transmission Control Protocol)是一种在计算机网络中用于可靠数据传输的协议。它是一种面向连接的协议,确保数据在发送和接收之间的可靠性和有序性。以下是TCP是如何工作的简要概述: 建立连接: 当两台计算机…...

[数据集][目标检测]道路坑洼目标检测数据集VOC格式1510张2类别

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1510 标注数量(xml文件个数):1510 标注类别数:2 标注类别名称:["keng","…...

全网最详细,Pytest自动化测试框架-Fixture固件实战,你要的都有...

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

React 入门学习

React 入门 一、基本认识1.1、前言1.2、什么是1.3、编译<br>1.4、特点1.5、高效 二、React环境和基本使用2.1、环境搭建2.2、脚手架项目基本使用2.2.1、src2.2.2、public2.2.3、package.json 三、JSX的理解和使用四、模块与模块化, 组件与组件化的理解4.1、模块与组件4.2…...

VMware vCenter 6.5 断电后无法启动修复方案

目录 第1章 前言 第2章 问题现象 第3章 解决方案 第4章、Tips 第1章 前言 本文主要介绍VMware vcsa 6.5由于电源异常/存储异常之后无法启动&#xff0c;进入磁盘自检模式处理方法。&#xff08;最近遇到类似情况比较多&#xff0c;Citrix Xenserver也遇到了&#xff0c;后来…...

c++ STL--算法,迭代器,容器适配器,仿函数

c STL–算法&#xff0c;迭代器&#xff0c;容器适配器&#xff0c;仿函数 一.算法 1.使用的头文件为 #include<algorithm>//以这个头文件为主 #include<numeric>2.关于算法一些功能的使用 1.遍历 void fun1(int x) {cout << x << " "…...

springcloud3 bus+springconfig 实现配置文件的动态刷新(了解)

一 springcloud Bus的作用 1.1 springcloud的作用 spring cloud bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架。 它整合了java的事件处理机制和消息中间件的功能。其中目前支持RabbitMQ和kafka 简介&#xff1a; bus实现多个服务的配置文件动态刷新。 1.2 …...

SpringMVC的架构有什么优势?——视图与模型(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

Vue中实现图片懒加载简单说明

1.安装 npm i vue-lazyload1.2.6 2.导入 import VueLazyload from "vue-lazyload"; 3.注册插件 说明&#xff1a;main.js文件 import imgs_src from "src" Vue.use(VueLazyload, {// 懒加载默认图片loading:"imgs_src" }); 4.前台 说明:vue文…...

zookeeper案例

目录 案例一&#xff1a;服务器动态上下线 服务端&#xff1a; &#xff08;1&#xff09;先获取zookeeper连接 &#xff08;2&#xff09;注册服务器到zookeeper集群&#xff1a; &#xff08;3&#xff09;业务逻辑&#xff08;睡眠&#xff09;&#xff1a; 服务端代码…...

项目中使用git vscode GitHubDesktopSetup-x64

一、使用git bash 1.使用git bash拉取gitee项目 1.在本地新建一个文件夹&#xff08;这个文件夹是用来存放从gitee上拉下来的项目的&#xff09; 2.在这个文件夹右键选择 git bash here 3.输入命令 git init (创建/初始化一个新的仓库) 4.输入命令 git remote add origin …...

【Linux操作系统】文件描述符fd

&#x1f525;&#x1f525; 欢迎来到小林的博客&#xff01;&#xff01;       &#x1f6f0;️博客主页&#xff1a;✈️林 子       &#x1f6f0;️博客专栏&#xff1a;✈️ Linux之路       &#x1f6f0;️社区 :✈️ 进步学堂       &#x1…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...