Jenkins+Python自动化测试持续集成详细教程(全网独家)
目录
一、前言
二、环境准备
三、创建Jenkins Job
四、编写Python自动化测试脚本
五、测试报告生成与展示
六、持续集成流程优化
七、实战演练
八、常见问题及解决方案
九、结论
一、前言
Jenkins是目前最为流行的CI/CD工具之一,它可以支持多种语言和技术栈,如Java、Python、JavaScript等。本文将介绍如何使用Jenkins和Python实现自动化测试持续集成。
二、环境准备
在开始之前,需要先准备好以下环境:
-
Jenkins服务器:Jenkins是一个开源软件,可以免费下载并安装在服务器上。
-
Python环境:本文使用Python 3.x进行自动化测试脚本编写。
-
测试框架:本文使用unittest作为测试框架,也可以选择其他测试框架,如pytest等。
-
应用程序:需要有需要进行自动化测试的应用程序,并确保应用程序能够正常运行。
python自动化测试视频教程:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
三、创建Jenkins Job
在Jenkins中创建Job是实现自动化测试持续集成的第一步。以下是创建Jenkins Job的步骤:
-
登录Jenkins服务器,并点击“新建任务”。
-
输入任务名称,并选择“自由风格”的项目类型。
-
在“源代码管理”下,选择版本控制系统(VCS)类型,并输入相关配置信息。本文使用Git作为VCS,需要配置Git仓库地址和分支。
-
在“构建触发器”下,选择需要触发自动化测试的事件,如源代码提交或定时构建等。本文选择“SCM变更触发”选项。
-
在“构建”下,选择执行自动化测试的脚本。本文使用Python进行自动化测试,需要安装Python插件,并在“构建环境”中添加Python环境变量。
-
保存Jenkins Job配置,并开始构建。
四、编写Python自动化测试脚本
在Jenkins Job中执行Python自动化测试脚本是实现自动化测试持续集成的核心部分。以下是编写Python自动化测试脚本的步骤:
-
安装必要的Python库:unittest、selenium等。可以使用pip命令安装。
-
导入所需的库和文件:unittest、selenium、测试用例等。
-
编写测试用例:使用unittest框架编写测试用例,并使用selenium库实现自动化测试操作。
-
创建测试套件:将多个测试用例组合成一个测试套件,并指定测试用例执行顺序。
-
执行测试:使用unittest框架的运行器(runner)来执行测试套件,并生成测试报告。
五、测试报告生成与展示
在Jenkins中查看测试结果和测试报告是实现自动化测试持续集成的最后一步。以下是测试报告生成与展示的步骤:
-
将测试结果保存到JUnit XML格式的文件中:使用unittest框架提供的XMLTestRunner类,将测试结果输出到JUnit XML文件中。
-
配置Jenkins Job生成测试报告:在Jenkins Job中添加“Post-build Actions”,选择“Publish JUnit test result report”选项,并指定JUnit XML文件路径。
-
查看测试结果和测试报告:在Jenkins Job页面上,点击“最后一次构建”的“Test Result”标签页,即可查看测试结果和测试报告。
六、持续集成流程优化
在实际应用中,还可以通过以下方式来优化自动化测试持续集成流程:
-
集成代码静态分析工具:如pylint、flake8等,可以在提交代码时进行代码质量检测。
-
集成自动化部署工具:如Ansible、Docker等,可以将测试通过的代码自动部署到生产环境中。
-
集成自动化性能测试工具:如JMeter、Locust等,可以对应用程序进行性能测试,并自动化集成到Jenkins中。
-
集成代码覆盖率工具:如coverage、codecov等,可以在测试过程中计算代码覆盖率,并生成相应的报告。
-
集成持续监控工具:如New Relic、AppDynamics等,可以实时监测应用程序的性能和健康状况,及时发现并解决问题。
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
七、实战演练
为了更好地了解Jenkins和Python自动化测试持续集成的实现过程,我们可以通过一个简单的实例来进行演练。下面是实战演练的步骤:
-
安装Jenkins服务器:可以在Jenkins官网(下载最新版的Jenkins软件按照安装步骤进行安装。
-
配置Jenkins环境:在Jenkins中安装必要的插件,如Git插件、Python插件等,并配置全局环境变量,如Python路径等。
-
创建Jenkins Job:在Jenkins中创建一个新的Job,命名为“Python自动化测试”,选择“自由风格”的项目类型,并配置相关选项,如源代码管理、构建触发器、构建环境等。
-
编写Python自动化测试脚本:在本地开发环境中编写Python自动化测试脚本,使用unittest框架编写测试用例,使用selenium库实现自动化测试操作,并生成JUnit XML格式的测试结果文件。
-
提交代码到Git仓库:将本地开发环境中的Python自动化测试脚本提交到Git仓库中,并确保Jenkins Job能够访问到Git仓库。
-
开始构建Jenkins Job:在Jenkins中开始构建“Python自动化测试”Job,并等待构建完成。
-
查看测试结果和测试报告:在Jenkins Job页面上,点击“最后一次构建”的“Test Result”标签页,即可查看测试结果和测试报告。
以上是一个简单的实战演练,通过实践可以更深入地理解Jenkins和Python自动化测试持续集成的实现过程。
八、常见问题及解决方案
在使用Jenkins和Python进行自动化测试持续集成的过程中,可能会遇到一些常见问题,下面是一些解决方案:
-
Jenkins无法访问Git仓库:需要确保Jenkins服务器能够访问到Git仓库,并且配置了正确的Git仓库地址和凭证。
-
Python环境变量配置错误:需要确保在Jenkins Job中添加了Python环境变量,并设置了正确的Python路径等信息。
-
测试用例执行失败:需要检查测试用例的编写是否符合要求,并确保应用程序能够正常运行。
-
测试报告生成失败:需要检查JUnit XML文件输出路径是否正确,并确保JUnit XML格式正确。
九、结论
本文介绍了使用Jenkins和Python进行自动化测试持续集成的流程和步骤,包括创建Jenkins Job、编写Python自动化测试脚本、测试报告生成与展示以及持续集成流程优化。通过自动化测试持续集成,可以提高测试效率和质量,并减少测试成本和时间。同时,还可以优化持续集成流程,提高软件开发和交付的效率和质量。希望本文能够对读者有所帮助。
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
相关文章:

Jenkins+Python自动化测试持续集成详细教程(全网独家)
目录 一、前言 二、环境准备 三、创建Jenkins Job 四、编写Python自动化测试脚本 五、测试报告生成与展示 六、持续集成流程优化 七、实战演练 八、常见问题及解决方案 九、结论 一、前言 Jenkins是目前最为流行的CI/CD工具之一,它可以支持多种语言和技术…...

运维监控工具PIGOSS BSM扩展指标介绍
PIGOSS BSM运维监控工具,除系统自带指标外,还支持添加SNMP扩展指标、脚本扩展指标、JMX扩展指标、自定义JDBC指标等,今天本文将介绍如何添加SNMP扩展指标和脚本扩展指标。 添加SNMP扩展指标 前提:需要知道指标的oid 例子ÿ…...
一些前端问题2
1.业务场景中需要嵌入公司其他行业线的页面,这种不使用 iframe 该怎么办? 答:理论上应该让他们给你做个组件出来,但是如果实在没别的办法,就使用 iframe 吧。 2.jquery ajax 同步请求的原理是? 目前用 axios 库&…...

Moviepy模块之视频添加图片水印
文章目录 前言视频添加图片水印1.引入库2.加载视频文件3.加载水印图片4.缩放水印图片大小5.设置水印的位置5.1 相对于视频的左上角5.2 相对于视频的左下角5.3 相对于视频的右上角5.4 相对于视频的右下角5.5 相对于视频的左中位置5.6 相对于视频的正中位置5.7 相对于视频的右中位…...
day35—编程题
文章目录 1.第一题1.1题目1.2思路1.3解题 2.第二题2.1题目2.2思路2.3解题 1.第一题 1.1题目 描述: 今年公司年会的奖品特别给力,但获奖的规矩却很奇葩: 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;待所有…...
Linux安装Nginx
前言 提示:这里可以添加本文要记录的大概内容: Linux安装Nginx的详细步骤。 一、安装Nginx的相关依赖 1、安装gcc,PCRE pcre-devel,zlib,OpenSSL, 提示:安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。 PCRE(…...

Qt 项目Mingw编译器转换为VS编译器时的错误及解决办法
错误 在mingw生成的项目,转换为VS编译器时通常会报些以下错误(C4819警告,C2001错误,C2143错误) 原因及解决方式 这一般是由于字符编码引起的,在源代码文件中包含了中文字符导致的。Qt Creator 生成的代码文…...

大学生用什么蓝牙耳机好?2023好用的蓝牙耳机推荐
近几年,蓝牙耳机市场不断扩大,逐渐取代有线耳机成为最受人欢迎的数码产品之一。作为蓝牙耳机主要受众群的大学生,用什么蓝牙耳机比较好呢?下面,我来给大家推荐几款便宜好用的蓝牙耳机,一起来看看吧。 一、…...

【好题】好题分享
1001-四舍五入_牛客竞赛语法入门班数组模拟、枚举、贪心习题 (nowcoder.com) 题目描述 四舍五入是个好东西。比如你只考了45分,四舍五入后你是50分再四舍五入你就是满分啦!qdgg刚考完拓扑。成绩十分不理想。但老师觉得他每天都很认真的听课很不容易。于是…...
three.js 怎么在自动缩放的时候添加动画效果
要在自动缩放的时候添加动画效果可以使用three.js中的Tween.js库。Tween.js提供了一种简单的方式来创建和管理动画,它可以让开发者通过简单的API来控制对象的属性变化,从而实现动画效果。 以下是一个使用Tween.js实现模型缩放动画的示例: 加…...

考虑梯水电站群的水火电节能调度(Python代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
CF914G Sum the Fibonacci
CF914G Sum the Fibonacci 洛谷Sum the Fibonacci 题目大意 给你一个长度为 n n n的数组 s s s,定义五元组 ( a , b , c , d , e ) (a,b,c,d,e) (a,b,c,d,e)是合法的当且仅当: 1 ≤ a , b , c , d , e ≤ n 1\leq a,b,c,d,e\leq n 1≤a,b,c,d,e≤n ( …...

Shell基础入门实战
写在前面 好久没在项目内做自动化了,主要是现阶段在项目内做自动化收益不大,最近开发做batch run的正好缺人,我看了一下代码,就是通过代码读取jar包和远程服务器连接,然后通过shell脚本,向数据库插入数据&a…...

如何进行微服务的技术选型?
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:陈于吉吉|慕课网讲师 随着这几年微服务的火爆,在平时的工作或者技术交流中,我们总能听到哪家公…...

Vue电商项目--应用开发详解
vue-cli脚手架初始化项目 首先,页面上新建一个文件夹。然后打开命令端口 vue create app 选择Default ([Vue 2] babel, eslint) 然后把项目拖拽到vscode中。项目目录看一下 脚手架项目的目录 node_modules:放置项目依赖的地方 public:一般放置一些共用的静态资源&a…...

Lvs负载均衡
系列文章目录 文章目录 系列文章目录一、集群1.集群2. 二、LVS1.LVS简介2.负载均衡的结构3.Lvs调度算法 总结 一、集群 1.集群 集群群集 cluster由多台主机构成的一个整体,提供一个放问入口(IP或域名),集群中的多台主机都干一件事提供一样的服务 负载均…...

JAVAWeb08-手动实现 Tomcat 底层机制+ 自己设计 Servlet
1. 前言 先看一个小案例, 引出对 Tomcat 底层实现思考 1.1 完成小案例 ● 快速给小伙伴完成这个小案例 0. 我们准备使用 Maven 来创建一个 WEB 项目, 老师先简单给小伙伴介绍一下 Maven 是什么, 更加详细的使用,我们还会细讲, 现在先使用一把 先创建…...
非监督学习简单介绍
文章目录 非监督学习简单介绍聚类K-meansHierarchical聚类DBSCAN 降维PCAt-SNE 其他非监督学习技术结论 非监督学习简单介绍 非监督学习是机器学习中的一种方法,其目标是基于数据的内在结构和关系,从而在无标签数据中识别样本的潜在结构和模式。非监督学…...

香港科技大学有什么好的专业?
香港科技大学创办于1991年10月,是一所坐落于香港清水湾半岛的公立研究型大学。大学设有4个学院:工学院、理学院、人文社会科学学院和工商管理学院,还设有2个研究院:香港科技大学公共政策和行政研究生院和香港科技大学霍英东研究院…...
【两个月算法速成】day04
本文以收录专题刷题记录 目录 24. 两两交换链表中的节点 题目链接 思路 代码 19. 删除链表的倒数第 N 个结点 题目链接 思路-双指针 代码 面试题 02.07. 链表相交 题目链接 思路 代码 24. 两两交换链表中的节点 题目链接 力扣 思路 建议使用虚拟节点࿰…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...

Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...