pytest教程-10-allue2生成html报告

领取资料,咨询答疑,请➕wei:  June__Go

上一小节我们学习了pytest-html生成html报告的方法,本小节我们讲解一下使用allue2生成html报告。

自动化测试执行完成后我们需要展示给其他人看,这就要有自动化测试报告了。复杂的测试报告当然可以自己代码实现,但用pytest-html或allure基本也能满足我们生成测试报告的要求了。本小节介绍allure2的使用。

allure是一款开源的,专门用来展示测试结果的一个工具,它可以与很多的测试框架做集成,比如java的Junit、TestNG,python的pytest等。allure会将测试用例的执行数据保存到xml文件中去,再利用allure的命令行将文件转换成HTML形式呈现出来。

安装allure

1、allure包下载:Central Repository: io/qameta/allure/allure-commandline

2、解压 -> 进入bin目录 -> 运行allure.bat

3、把bin目录加入PATH环境变量

4、检查allure是否安装成功 ,cmd中执行如下命令 allure

上图中表示java没有安装,因为allure工具是java开发的,需提前安装java环境。

jdk下载地址:Java Downloads | Oracle

安装jdk

配置java环境变量

在系统变量下面找到新建,填写变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.8.0_152(即Jdk的安装路径)

编辑Path变量选中系统变量中的Path变量,点击编辑--新建--输入%JAVA_HOME%\bin(建议直接复制粘贴,以免出错)--确定--确定--确定

%JAVA_HOME%\bin

验证JDK是否配置成功,cmd执行命令 java

上图代表java已安装成功。cmd中执行再次如下命令 allure

上图代表allure工具已经安装成功了!

安装 allure-pytest插件

pip install allure-pytest

成功安装

生成Allure报告

先准备一个简单的执行脚本

import pytest


def fun(x):
    return x + 1


def test_answer_1():
    """测试断言一"""
    assert fun(3) == 4


def test_answer_2():
    """测试断言二"""
    assert fun(5) == 7


@pytest.mark.parametrize("test_input,expected", [
    ("3+5", 8),
    ("2+4", 6),
    pytest.param("6 * 9", 42, marks=pytest.mark.xfail),
    pytest.param("6 * 6", 42, marks=pytest.mark.skip)
])
def test_mark(test_input, expected):
    """用例集合"""
    assert eval(test_input) == expected

运行命令:

pytest [测试文件] -s -q --alluredir=./result #--alluredir用于指定存储测试结果的路径)
示例:pytest test_demo.py -s -q --alluredir=./result

在当前result目录下生成报告结果文件

查看测试报告

方式一:直接打开默认浏览器展示报告

终端执行:allure serve ./result/

自动弹出html报告

方式二:从结果生成报告

生成报告数据:pytest test_demo.py -s -q --alluredir=./result

生成报告allure generate ./result/ -o ./report/ --clean (覆盖路径加--clean)

打开报告allure open -h 127.0.0.1 -p 8883 ./report/

allure报告定制

定制报告的内容非常丰富,后面会在单独的allure报告合集中详细介绍,各位尽请期待!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

稳态准直太阳光模拟器

概述 稳态准直太阳光模拟器是一种用于模拟太阳光的设备。它能够产生高强度、高稳定性的太阳光,用于太阳能电池、太阳能热利用等领域的研究和实验。 稳态准直太阳光模拟器通常由以下几个部分组成: 光源:采用强度和颜色温度与太阳光接近的光源…

Rust 语言学习杂谈 (end) (各种工作中遇到的疑难杂症)

1.在运行 “cargo build --release” 的时候,到底发生了什么? 源 (GPT4.0) : 当我们运行 cargo build --release 命令时,实际上在进行一系列复杂的步骤来编译和构建 Rust 项目的发布版本。这个过程大致可以分解为以下几个步骤:…

2024年【危险化学品经营单位安全管理人员】考试报名及危险化学品经营单位安全管理人员考试资料

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试报名是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位安全管理人员考试资料,安全生产模拟考试一点通上危险化学品经营单位安全管理人员作业手机同步练习…

基于GPT一键完成数据分析全流程的AI Agent: Streamline Analyst

大型语言模型(LLM)的兴起不仅为获取知识和解决问题开辟了新的可能性,而且催生了一些新型智能系统,例如旨在辅助用户完成特定任务的AI Copilot以及旨在自动化和自主执行复杂任务的AI Agent,使得编程、创作等任务变得高效…

单片机学习笔记---直流电机驱动(PWM)

直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器…

正向代理和反向代理

文章目录 概述正向代理反向代理主要用途 概述 正向代理和反向代理都是网络中常见的代理类型,用于在客户端和服务器之间进行通信。 正向代理(Forward Proxy)是位于客户端和目标服务器之间的代理服务器。当客户端发送请求时,请求会…

批量梯度下降、随机梯度下降、小批量梯度下降

一、批量梯度下降(Batch Gradient Descent,BGD) 在批量梯度下降中,每次迭代都使用整个训练集的数据进行梯度计算和参数更新。也就是说,每次迭代都对所有的样本求取梯度,然后更新参数。由于要处理整个训练集&#xff0c…

算法沉淀——优先级队列(堆)(leetcode真题剖析)

算法沉淀——优先级队列 01.最后一块石头的重量02.数据流中的第 K 大元素03.前K个高频单词04.数据流的中位数 优先队列(Priority Queue)是一种抽象数据类型,它类似于队列(Queue),但是每个元素都有一个关联的…

WEB APIs(2)

应用定时器可以写一个定时轮播图&#xff0c;如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&qu…

如何在电脑和 SD 卡上恢复已删除 MOV等视频文件

MOV 是 Apple 创建的多媒体容器。您可能已经意识到&#xff0c;用 macOS QuickTime Player 录制的视频是以 MOV 格式保存的&#xff0c;而且 MOV 在 Windows 上也兼容。我们可能已经保存了很多 MOV 格式的视频。但是&#xff0c;如果这些 MOV 文件丢失或被意外删除怎么办&#…

Python二级考试笔记

Python二级考试笔记【源源老师】 01. 字符串 1. 常规功能合集 字符串本身有一些功能&#xff0c;有些之前运用过&#xff0c;这里总结如下&#xff1a; # 功能一&#xff1a;判断字符串类型 print(type("Hello")) print(str(123)) # 转换# 功能二&#xff1a;连…

OpenCV Mat实例详解 一

OpenCV中的Mat是一个类&#xff0c;它用存储图像信息。由两部分数据组成&#xff1a;矩阵头和像素值矩阵。矩阵头包含矩阵尺寸、存储方法、存储地址等信息&#xff0c;而像素值矩阵则存储实际的像素值数据。 Mat类在OpenCV中有十分重要的作用&#xff0c;图像信息的载入、保存、…

【知识图谱--第三讲知识图谱的存储与查询】

知识图谱的存储与查询 基于关系型数据库的知识图谱存储基于原生图数据库的知识图谱存储原生图数据库实现原理浅析 基于关系型数据库的知识图谱存储 基于原生图数据库的知识图谱存储 原生图数据库实现原理浅析

每日一题——LeetCode1437.是否所有1都至少相隔k个元素

方法一 两次遍历&#xff1a; 第一次遍历保存所有1的位置到res里&#xff0c;第二次遍历res检查是否所有相邻元素之间间隔都>k var kLengthApart function(nums, k) {let res[]for(let i0;i<nums.length;i){if(nums[i]1){res.push(i)}}for(let i1;i<res.length;i){…

Python 中实现线性搜索算法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 前言 线性搜索算法&#xff0c;也称为顺序搜索算法&#xff0c;是一种简单但常用的搜索技术&#xff0c;用于查…

VMwareWorkstation17.0虚拟机安装Windows2.03完整详细步骤图文教程

VMwareWorkstation17.0虚拟机安装Windows2.03完整详细步骤图文教程 第一篇 下载Windows2.03第二篇 配置Windows2.03虚拟机机器环境第三篇 启动Windows2.03系统 第一篇 下载Windows2.03 1.Windows2.0原版软盘下载地址是 暂不提供&#xff0c;后续更新 2.Windows2.03虚拟机镜像下…

P1228 地毯填补问题题解

题目 相传在一个古老的阿拉伯国家里&#xff0c;有一座宫殿。宫殿里有个四四方方的格子迷宫&#xff0c;国王选择驸马的方法非常特殊&#xff0c;也非常简单&#xff1a;公主就站在其中一个方格子上&#xff0c;只要谁能用地毯将除公主站立的地方外的所有地方盖上&#xff0c;…

MATLAB知识点:poissrnd函数(★★☆☆☆)生成泊松分布的随机数

讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第三…

开源PDF工具 Apache PDFBox 认识及使用(知识点+案例)

文章目录 前言源码获取一、认识PDFBox二、导入依赖三、基础功能demo1&#xff1a;读取pdf所有内容demo2&#xff1a;读取所有页内容&#xff08;分页&#xff09;demo3&#xff1a;添加页眉、页脚demo4&#xff1a;添加居中45文字水印demo5&#xff1a;添加图片到右上角 参考文…

(四)【Jmeter】 JMeter的界面布局与组件概述

JMeter的界面布局 中文版&#xff1a; 英文版&#xff1a; JMeter的主界面包括菜单栏、工具栏、树形结构面板、视图面板等部分。 菜单栏&#xff1a;菜单栏包含了文件(File)、编辑(Edit)、查找(Search)、选项(Options)、工具(Tools)、帮助(Help)等菜单项&#xff0c;用于对…