python+pytest单元测试框架之在Jenkins上生成Allure测试报告

简介: 上篇我们通过Allure插件生成了测试report,并通过打开浏览器的方式查看图形化测试report,那要集成都Jenkins中去,并以邮件的方式发送测试report要怎么做呢?请看以下操作一、搭建环境1.

上篇我们通过Allure插件生成了测试report,并通过打开浏览器的方式查看图形化测试report,那要集成都Jenkins中去,并以邮件的方式发送测试report要怎么做呢?请看以下操作

一、搭建环境

1.jenkins环境搭建见《手把手教你搭建Jenkins+Jmeter+Ant自动化集成环境》中的Jenkins部分,这里不做介绍

二、在jenkins中配置插件

1.分别安装插件  Allure Jenkins Plugin 、HTML Publisher plugin

a.在Jenkins的页面中点击“系统管理”->"管理插件",搜索“allure”,在搜索结果页,选择“Allure Jenkins Plugin”进行安装。安装完成之后重启一下Jenkins。 

img_e0f7f0708ba924a0ca9258f548191b65.png
Jenkins界面

进入插件管理界面,选择“可选插件”->在右上角过滤编辑框中写入"Allure",按回车键,然后勾选Allure,点击直接安装

img_e871151d9d26c47772d51a545f64a62f.png
安装Allure插件

b.进入插件管理界面,选择“可选插件”->在右上角过滤编辑框中写入"HTML",按回车键,然后勾选HTML Publisher,点击直接安装

img_daabe1ed343b3868735a5f23b6ad6d5f.png
安装HTML Publisher
img_496feaf47f3fa970e3f3011828dcba13.png
安装过程
img_cfd89f4fd703c16308d7ad5f033f2e84.png
安装完成
img_2ac7b25017e9442716fdcaf103b43498.png
重启Jenkins

重启后可在“插件管理”界面查看到已安装成功的插件和插件版本

img_f2d72b15ff3ed9392d30dea6958f2963.png
查看安装好的插件1
img_f2582e3cab1bca306501fcb46aa0dc88.png
查看安装好的插件2

2.添加allure执行工具

下载allure压缩文件allure-commandline.zip ,解压并添加allure路径至path环境变量

img_e35f1eb8b64733cd26b8134575a9b806.png
配置path

3.在Jenkins的主界面中找到并进入“(Global Tool Configuration)全局工具管理”页面

img_72bee8ef6ba14778bda543b722e14753.png
Global Tool Configuration管理界面

找到Allure Commandline安装 字样,点击新增Allure Commandline

img_08379f82c9a4831d269b1ffabf857035.png
安装Allure Commandline

点击后,在弹出下面的页面,输入Allure的命令别名和版本(这里我选择最新版本号)后,点击Apply 和Save

img_a91091b48e4c1ef550dcb409175b6cd3.png
保存Allure配置

三、配置Job

1.在Jenkins主界面点击新建,进入如下界面,建立 jenkins 持续集成项目, 这里选择自由风格的项目,按照步骤执行操作后点击OK

img_ac34f80546c1d066c5e75d706b0cc702.png
输入项目名称

2.点击OK后进入Allure Report界面,如下图所示

img_7567378dd29fbca46287e87692163f96.png
进入项目配置界面

3.在Allure Report界面,分别配置“构建”和“构建后操作”

a.配置构建步骤:进入Allure Report界面,找到“构建”下方的“增加构建步骤”,下来选择Excute Windows batch command

img_11dad462bf88fffeac514da31395194f.png
配置构建步

b.输入如下配置步骤指令:

D:

cd \work\pytest

py.test -s -q --alluredir  ${WORKSPACE}/report

img_9b457b24f7433ec384fb8b3270233e9a.png
配置指令
img_1f69491d3d147e555c113784cebdf3b3.png
查看输出的log信息

原因:jenkins执行命令,会把命令生成一个批处理文件执行,而pytest命令对于批处理来说是外部命令,所以要加call表示调用。而jenkins执行windows命令,若退出代码不为0 ,则jenkins会将构建标记为失败,所以需要加上exit 0表示执行完成退出

解决方法:构建命令在py.test前面加上call,最后加上exit 0

img_ffb5f39a023b0b91fd127f8bd9da242e.png
重构指令
img_d4820ad5cbe795baa3d687021c368c09.png
运行结果打印信息

c.在构建后操作下拉一栏选择“Allure Report”,进入“Allure Report”界面,写入保存报告的路径名称“report”,在“Properties”一栏分别写入Key和Value对应的变量值和存放测试用例文件的路径,如下图所示:

img_90eb2897428f12799fdc4030f5effbd2.png
配置report路径

这里需要注意一点就是:执行指令生成测试报告的路径名称和保存测试报告的路径名称必须一致,不然会提示错误。如下图设置

img_f2c1d6ee350d567b8f64045980732cc6.png
设置测试报告名称

四、查看运行结果

在Jenkins界面点击“立即构建”,会在左下角出现进度条显示,当进度条显示完成后,刷新下当前界面,可以在页面右侧看到运行结果,点击界面的“Allure Report”字样,可查看该测试用例运行的详细情况

img_eafca94a6071578c54b3af94cebf553a.png
运行用例
img_af3493cea49ff1633da981378a1c0325.png
运行结果1
img_21afee65461d1019bf9a635f477576bf.png
运行结果2
img_81aac9ac37e71dc22c63d8a9fe9d2bd9.png
运行结果3
img_07a481b83addd7e61d799784d6838f54.png
运行结果4
目录
相关文章
|
8天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
26 6
基于Python访问Hive的pytest测试代码实现
|
9天前
|
数据可视化 数据管理 测试技术
聊聊自动化测试框架
关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
21 4
聊聊自动化测试框架
|
4天前
|
敏捷开发 IDE 测试技术
自动化测试框架的选择与应用
【9月更文挑战第16天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的流行,自动化测试成为提升软件质量和效率的关键手段。本文将探讨如何根据项目需求选择合适的自动化测试框架,并通过实际案例分析展示其在软件开发过程中的应用。我们将从单元测试、集成测试到端到端测试等多个层面,讨论自动化测试的最佳实践和常见问题解决策略。
|
15天前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
33 4
|
18天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
44 5
|
20天前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
40 4
|
20天前
|
测试技术 C# 开发者
“代码守护者:详解WPF开发中的单元测试策略与实践——从选择测试框架到编写模拟对象,全方位保障你的应用程序质量”
【8月更文挑战第31天】单元测试是确保软件质量的关键实践,尤其在复杂的WPF应用中更为重要。通过为每个小模块编写独立测试用例,可以验证代码的功能正确性并在早期发现错误。本文将介绍如何在WPF项目中引入单元测试,并通过具体示例演示其实施过程。首先选择合适的测试框架如NUnit或xUnit.net,并利用Moq模拟框架隔离外部依赖。接着,通过一个简单的WPF应用程序示例,展示如何模拟`IUserRepository`接口并验证`MainViewModel`加载用户数据的正确性。这有助于确保代码质量和未来的重构与扩展。
28 0
|
9天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
56 7
Jmeter实现WebSocket协议的接口测试方法
|
9天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
39 3
快速上手|HTTP 接口功能自动化测试
|
9天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
22 5