python+allure+jenkins

news2024/10/6 22:21:32

目录

前言

在 python 中使用 allure

1. 安装 pytest

2. 安装 pytest-allure-adaptor

3. 使用 pytest 执行测试用例并生成 allure 中间报告(此步骤可以省略,因为在 jenkins job 中会配置执行类似的命令)

4. Jenkins 中安装Allure Jenkins Plugin

5. Jenkins 中配置 Allure Commandline

6. Jenkins 执行测试用例 Job 配置

7. 执行 job 查看测试报告


前言

使用Python结合Allure和Jenkins是一种强大的组合,可以实现自动化测试和测试报告的生成与展示。

之前用 python 写接口测试脚本一直用的是 HTMLTestRunner,后来发现 Testerhome 上有介绍 Allure,感觉 allure 展示的测试报告非常酷炫,所以试着将 allure 集成到测试中,在这里记录一下用做备忘。

在 python 中使用 allure

在 python 中使用 allure 需要使用 pytest 和 pytest-allure-adaptor,所以先使用 pip 安装它们俩。

1. 安装 pytest

pip install pytest

2. 安装 pytest-allure-adaptor

pip install pytest-allure-adaptor

3. 使用 pytest 执行测试用例并生成 allure 中间报告(此步骤可以省略,因为在 jenkins job 中会配置执行类似的命令)

  • 我的脚本目录结构

  • 在测试脚本根目录执行以下命令,跑 test_zutu_seacher.py 中的 case
python -m pytest cases/zutu_searcher/ --alluredir report

以上命令要在 pytest 的前面加上 python -m,因为如果不加会报如下的错误。可以参考

=========================================================================== test session starts ============================================================================
platform linux2 -- Python 2.7.9, pytest-3.2.3, py-1.4.34, pluggy-0.4.0
rootdir: /da1/jenkins/auto_testimg, inifile:
plugins: allure-adaptor-1.7.8
collected 0 items / 1 errors                                                                                                                                                

================================================================================== ERRORS ==================================================================================
________________________________________________________ ERROR collecting cases/zutu_searcher/test_zutu_seacher.py _________________________________________________________
ImportError while importing test module '/da1/jenkins/auto_testimg/cases/zutu_searcher/test_zutu_seacher.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
cases/zutu_searcher/test_zutu_seacher.py:5: in <module>
    from common import commonMethod
E   ImportError: No module named common
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================================================= 1 error in 0.10 seconds =========================================================================

这个时候脚本根目录的 report 目录下生成了几个文件,类似下面的文件,但是还不是 allure 最终的测试报告,还需要和 jenkins 的Allure Jenkins Plugin配合生成最终的测试报告。

[xieyuchang@test1 /da1/jenkins/auto_testimg]$ ll report
total 28
-rw-rw-r-- 1 xieyuchang xieyuchang  113 Oct 13 11:20 1a65faa2-2932-436a-bf7b-f9cb395965ab-attachment.txt
-rw-rw-r-- 1 xieyuchang xieyuchang 2708 Oct 13 11:20 1f1f0d8b-4dcd-44a9-9b92-e70e3ee2d948-testsuite.xml
-rw-rw-r-- 1 xieyuchang xieyuchang  403 Oct 13 11:20 8e7754ca-359f-41ef-8bd1-072dbae6ccf6-attachment.txt
-rw-rw-r-- 1 xieyuchang xieyuchang  605 Oct 13 11:20 d307ad23-4465-4764-bf00-439d03c67ccc-attachment.txt
-rw-rw-r-- 1 xieyuchang xieyuchang  278 Oct 13 11:20 e2309b59-627d-47fc-a8c6-a1b9894620a5-attachment.txt
-rw-rw-r-- 1 xieyuchang xieyuchang  161 Oct 13 11:20 e297c184-579f-4339-a54a-cc94828cae12-attachment.txt
-rw-rw-r-- 1 xieyuchang xieyuchang  283 Oct 13 11:20 e7206875-91a8-41cb-acf4-01ab6f85707d-attachment.txt

4. Jenkins 中安装Allure Jenkins Plugin

安装 Allure Jenkins Plugin 和安装其它 jenkins 插件一样,不再赘述。

5. Jenkins 中配置 Allure Commandline

[系统管理]->[Global Tool Configuration] 配置如下

6. Jenkins 执行测试用例 Job 配置

注意命令:python -m pytest --alluredir ${WORKSPACE}/report 中指定的生成报告的目录和 Allure Report 中配置的目录是同一个目录,否则最终报告是空白的。

7. 执行 job 查看测试报告

  • allure 测试报告入口

  • allure 测试报告

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

 

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

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

相关文章

测试老鸟整理,Jmeter常用线程组+场景实例,一篇速通测试...

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

FITC标记牛血清白蛋白(FITC-BSA)溶解性

FITC-BSA是一种常用的荧光探针&#xff0c;用于生物化学和细胞生物学研究。FITC-BSA具有溶解性&#xff0c;可以在溶液中均匀分布。 溶解性1&#xff1a; FITC标记的牛血清白蛋白&#xff08;FITC-BSA&#xff09;在适当的条件下具有良好的溶解性。FITC-BSA通常以固体形式供应…

概率论的学习和整理18:为什么 P(至少成功1次) = Σ P(几何分布) ,总结几何分布和连续失败概率的关系,二项分布和累计成功k次的关系

目录 1 先说结论&#xff1a; 2 Σ几何分布的P(xn) P(n次试验至少成功1次) 2.1 几何分布的概率 2.2 这个是可以证明的&#xff0c;下面是推导过程 2.3 怎么理解呢&#xff1f; 3 另外&#xff0c;P(累计成功k次) ΣP(成功k次的二项分布) 3.1 成功k次的概率 和 累计成…

C# NPOI读取Excel中文乱码

Win11, 程序中需要从Excel表格读取中文内容&#xff0c;实测发现有中文乱码问题&#xff1a; class name:??Vege 奇怪的问号&#xff0c;原文是“蔬菜Vege”。 网上找了一圈&#xff0c;没找到NPOI中文乱码的解决方案&#xff0c;普遍都是比较顺利没遇到中文乱码问题。 那…

DP4057替代TP4057 500mA双灯指示防反接锂电充电管理IC

DP4057 是一款完整的单节锂离子电池充电器&#xff0c;带电池正负极反接保护&#xff0c;采用恒定电流/恒定电压线性控制。其 SOT26封装与较少的外部元件数目使得 DP4057 成为便携式应用的理想选择。DP4057可以适合 USB电源和适配器电源工作。由于采用了内部PMOSFET架构&#x…

ubuntu 20.04, 22.04网络配置比较

1.ubuntu 20.04网络配置&#xff0c;配置静态IP&#xff1a;切换roote用户&#xff0c;vi /etc/netplan/00-installer-config.yaml&#xff0c;修改网络配置&#xff0c;格式如下&#xff1a; network: ethernets: ens33: dhcp4: false addresses: [172.22.…

机器学习31:《推荐系统-IV》深度神经网络DNN

在《机器学习29&#xff1a;《推荐系统-II》协同过滤》一文中&#xff0c;笔者介绍了如何使用矩阵分解来学习嵌入。矩阵分解具有一些局限性&#xff1a; 基础矩阵分解只用了 UserID&#xff08;QueryID&#xff09; 和 ItemID 两个维度的信息&#xff0c;所有学到的知识都蕴含在…

SQL-每日一题【596.超过五名学生的课】

题目 表: Courses 编写一个SQL查询来报告 至少有5个学生 的所有班级。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 1.题目要求查询至少有五个学生所在的班级&#xff0c;我们就可以先用group by class 对班级先分一下组。 2。分好组后&#xff0c;我…

《Communication-Efficient Learning of Deep Networks from Decentralized Data》

Communication-Efficient Learning of Deep Networks from Decentralized Data 这篇文章算是联邦学习的开山之作吧&#xff0c;提出了FedAvg的算法&#xff0c;文中对比了不同客户端本地训练次数&#xff0c;客户端训练数据集划分的影响。 0. Abstract 现代移动设备可以获取大…

永久区和元空间的区别

一文搞懂JVM之 方法区、永久代、元空间三者的区别 - 知乎 元空间和永久代的区别-腾讯云开发者社区-腾讯云 方法区和永久区/元空间之间的关系 - 简书 方法区(Method Area),是JVM规范中提出的一个(概念)&#xff0c;用于存储类信息、常量池、静态变量、JIT编译后的代码等。 Th…

“周杰伦概念股”IPO,巨星传奇市值42亿港元

“周杰伦概念股”巨星传奇&#xff0c;一波三折终上市。 今日&#xff08;7月13日&#xff09;&#xff0c;巨星传奇集团有限公司&#xff08;下称“巨星传奇”&#xff0c;06683.HK&#xff09;正式挂牌港交所。 此前&#xff0c;巨星传奇于2021年9月、2022年3月和2022年10月…

【广州华锐互动】发动机零件拆装VR虚拟学习平台

随着科技的飞速发展&#xff0c;虚拟现实(VR)技术正在各行各业中发挥越来越重要的作用。在工业教育领域&#xff0c;发动机零件拆装VR虚拟学习平台为学生提供了一种全新的学习方式&#xff0c;使他们能够在安全、低成本的环境中进行实践操作&#xff0c;从而提高技能&#xff0…

Redis常用数据结构及原理

Redis常用六种数据类型 Redis 支持多种数据类型&#xff0c;每种类型都具有不同的特性和用途。以下是 Redis 中常见的数据类型&#xff1a; 一、字符串&#xff08;String&#xff09; 1、基本介绍 字符串是最基本的数据类型&#xff0c;可以存储任意类型的数据&#xff0c…

Simulink仿真模块 - Repeating Sequence

Repeating Sequence:生成任意形状的周期信号 在仿真库中的位置为:Simulink / Sources 模型为: 说明 Repeating Sequence 模块可以输出波形由 Time values 和 Output values 参数指定的周期性标量信号。Time values 参数指定输出时间向量。Output values 参数指定输出时间对应…

Windows 组策略 部署打印机

一、服务端 1、打印机管理&#xff1a;添加打印机 2、选择打印机 3、第一次安装&#xff0c;选择这个 4、下载驱动&#xff0c;从磁盘安装 5、已成功安装 6、选中打印机右击属性&#xff1a;列出目录 7、创建一个组策略 8、组策略设置 用户设置 → 首选项 → 控制面板 → 打印…

12_基于 I2C 协议的 EEPROM 驱动控制

12_基于 I2C 协议的 EEPROM 驱动控制 1. I2C协议1.1 I2C通信协议1.2 I2C物理层1.3 I2C协议层1.3.1 单字节数据的写入1.3.2 页写数据写入1.3.3 随机读取操作1.3.4 顺序读取操作 2. EEPROM2.1 板载 EEPROM 实物图2.2 板载 EEPROM 部分原理图 3. 实验目标4. 模块框图4.1 顶层模块4…

进程、线程、调度基础知识

程序是一些保存在磁盘上的指令的有序集合&#xff0c;是静态的&#xff0c;说白了就是一堆有逻辑的代码。包装成一个软件。 一、进程 是程序一次执行的过程。每个进程有自己独立的内存空间&#xff0c;一个进程有多个线程。 并行和并发对比&#xff1a; 字面意思而言&#xf…

Java 反射四大核心类:Class、Constructor、Method、 Filed

目录 反射可以做到的事情 反射重要的4个类 Class类 Class类的类图 Class类常用方法 获取Class类对象4种方式 基本数据类型的Class类对象和包装类的Class类对象 Field类 Method类 Constructor类 反射的简单使用 反射可以做到的事情 在不修改源码的情况下&#xff0c;…

Redis主从复制环境部署

文章目录 Redis主从复制&#xff1a;原理&#xff1a;全同步过程&#xff1a;增量同步过程&#xff1a;主从复制配置&#xff1a;关闭防火墙和Selinux&#xff08;三台都要&#xff09;修改bindIP&#xff1a;node3node2master 以138为主&#xff0c;140&#xff0c;141为从检查…

redis 跳跃表、字典、压缩列表、快速列表

redis 跳跃表、字典、压缩列表、快速列表 1. 跳跃表 ​ 跳跃表是有序集合的底层实现。就是将有序集合的部分节点进行分层。每一层都是有序集合&#xff0c;并且层次越高&#xff0c;节点数量就越少。最底层的包含所有节点数据。典型的空间换时间。 ​ Redis中的跳跃表&#x…