Jenkins+Python自动化测试之持续集成详细教程

前言

今天呢笔者想和大家来聊聊Jenkins+Python自动化测试持续集成,废话呢就不多说了哟咱们直接进入主题哟。

 

一、Jenkins安装

​ Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。由于是基于java开发因此它也依赖java环境,安装之前需要先安装jdk,建议jdk1.8+,安装后配置java环境变量。安装jdk成功后,在cmd使用java -version可查看jdk版本信息。

​ 官网下载地址:https://www.jenkins.io/zh/ ,或者这个网址直接下载:http://mirrors.jenkins.io/war-stable/latest/jenkins.war ,下载的包可以是Jenkins.war,也可以是Jenkins.msi。 

​ 如果是Jenkins.war,那么将这个文件放到一个目录下,打开cmd,进入到此文件所在目录,执行:java -jar jenkins.war --httpPort=8080即可;如果是Jenkins.msi,直接双击打开运行安装。

​ 安装好之后,打开浏览器输入:localhost:8080,会出现下面这个图:

 ​ 稍等一会,会提示需要输入管理员密码,按照提示到对应的路径找到initialAdminPassword这个文件,用记事本打开,里面会有一个密码,把这个密码粘贴到文本框中点确定即可。

 ​ 到下图这一步时,选择左边安装推荐的插件,安装插件的过程会比较漫长,如果网络比较差,很多安装失败的话也可以点击continue跳过安装,就会跳到设置用户页面,设置一个用户密码,就进入主页面了。

 

1.1离线安装插件

​ 在安装jenkins时如果跳到了插件安装,后面想再安装插件可以在主页面系统管理》插件管理中下载,如果网络不好下载插件很慢或失败时,可以试试到这个插件列表中去下载:http://updates.jenkins-ci.org/download/plugins/ ,下载的是.hpi格式的文件,下载后在jenkins系统管理》插件管理》高级》上传插件,上传对应插件的.hpi文件,然后重启jenkins即可。

 

1.2离线升级

​ 同理,在需要升级jenkins时,在线升级比较慢的情况下,我们也可以离线去下载,推荐地址:http://mirrors.jenkins-ci.org/war/ ,下载的是.war后缀的包。

​ 离线升级步骤:

下载war包:见上
替换war包:找到本地 jenkins 的 war 包的安装路径,可在jenkins系统管理》系统信息中查询到;然后把下载好的war包替换掉原来的war包

 

 3.重启服务:Ctrl + Alt + Del 打开任务管理器,重新启用 jenkins 服务

 

二、Jenkins部署项目

​ 如果在没有pycharm编译器的情况下我们怎么运行项目呢?可以在windows的命令行下直接运行,但运行时需要先切换到项目路径下,然后在cmd输入python 文件名.py,或者不切换路径,直接输入文件的完整路径,如:python c:\test\main.py。

​ 当然,更方便的还是在Jenkins上面一键运行。

​ 首先要创建一个工作项目,类型选第一个Freestyle project就行。

 每一个项目建立后,都需要先执行一遍构建才会有工作区间,否则进入工作区间会显示如下:

构建一遍后再点进工作区间会显示“空目录”,这是因为我们还没有把测试项目放到Jenkins。先找到Jenkins安装目录下的workplace,然后在对应目录下把我们的测试项目整个拷过来即可,如下: 

 

如果源码不在本地,使用的是git或svn,那么配置好项目的git/svn,执行构建后会自动把服务器上的代码拉取下来。下面是源码管理及构建的步骤:

三、源码管理

 源码管理(source code management):需要安装插件,如:git/svn,没有插件时显选择无,直接使用本地代码,需要拷贝到工作区间。

 

这里以git为例,参数说明:

  • repository url:项目的git地址(svn则填svn地址)
  • credentails:点击添加Jenkins凭据,填写git/svn的账号及密码》保存;保存后在左侧选择账号

 四、构建

​ 构建,即如何运行项目。添加构建步骤,windows选择execute windows batch command,linux或mac选择execute shell,然后输入终端的执行命令:python 文件名.py,保存后点击构建(build now)就可以运行项目了,注意这里运行的文件需要存放在工作区间的根目录下(因为这里默认是根目录)。

 配置好后,就可以运行项目了,在对应项目里点击build now(立即构建)就可以运行项目了,在左下角可查看构建进度、构建历史,还可以查看控制台的输出。

 

五、Jenkins发送邮件

现在就来介绍一下如何使用jenkins来发送邮件

5.1安装插件

​ Jenkins需要先安装以下两个插件

5.2配置邮件地址

​ 位置:jenkins管理》系统配置》Jenkins Location。在系统管理员邮件地址,输入对应的邮件地址

 

5.3配置smtp服务

​ 位置:jenkins管理》系统配置》Extended E-mail Notification,填写对应的smtp服务器相关内容,如下是qq邮箱示例,授权码获取见传送门。

 

 

点击高级,输入对应的邮箱地址和smtp登录的授权码,勾选ssl。

 

5.4配置邮件触发器

​ 位置:jenkins管理》系统配置》Default Triggers,默认是勾选失败才发,可以配置总是发送(或根据需求勾选),那么每次运行项目时都会发送邮件。

 

​ 需要特别注意的是,如果项目已经创建了(项目默认是失败发送)才去配系统触发器(配了总是发送),那么项目会读取项目的触发器,如果是先配置了系统触发器再创建的项目,那么项目的触发器是读取系统触发器的。配置项目的触发器见第5点。

5.5配置构建后操作

​ 位置:对应项目》配置》添加构建后操作-Editable Email Notifiction,输入收件人邮件地址(Project Recipient List),多个邮箱可以用英文逗号隔开;输入附件内容(Attachments):reports/report.html,这里输入的是:项目存放测试报告的文件夹名/测试报告文件名。

​ 邮件触发器,点击高级》找到triggers。

 

  邮件触发器:

 5.6html展示配置

​ 配置后项目生成的html报告就可以直接在项目中查看,如下图:

 ​ 需要安装插件:HTML Publisher

 ​ 安装后配置项目构建后操作:对应项目》配置》增加构建后操作。

 

配置好后重新构建项目就会在项目生成HTML Report目录,但是查看这个报告后你会发现html报告在jenkins上显示没有那么美观,那是因为少了html里面的css和js,因为jenkins是默认会禁掉css和js。

​ 解决办法:

​ 在jenkins管理》命令行终端(Script Console),输入:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "script-src 'unsafe-inline'"),点击【运行】就好了(记住重启jenkins后,就会恢复默认设置,需要重新配置)。

六、Jenkins定时任务

​ 顾名思义,就是定时去执行项目。配置位置:对应项目》配置》构建触发器》定时构建(Build Periodically)。

​ 定时规则分为5个部分:分钟、小时、每月的日子、月份、星期,每个部分需要用空格隔开,*代表所有,如果是5个*意思就是每分钟执行一次,再举例30 8 * * 1,意思就是每周一上午8点30分执行一次。每次输入定时规则时,下方会有提示说明,以及上一次运行时间、下一次运行的时间。

​ 每个部分还可以设置其他的值,详情可查看提示了解。

 

七、Jenkins构建触发器

​ 实际有可能我们运行项目不是一定要定时去执行的,可能开发每次一发版我们就要执行构建一遍来观察开发的新代码是否会有问题,那我们就可以配置一个构建触发器。

​ 配置位置:对应项目》配置》构建触发器》其他工程构建后触发(Build after other projects are build),输入对应的项目名称,选择“构建稳定时触发”,意思就是我的测试脚本项目在另一个项目(test项目,这里指开发的项目)部署构建完成后没有出现问题了才触发构建我的测试脚本项目。

​ 也就是说,每一次开发发版成功后就会构建一遍我的测试脚本项目。完美

 

八、Jenkins汉化

​ 设置中文显示的两个插件:

然后在jenkins管理》系统配置》Locale,配置显示中文: 

如果配置后出现半英文半中文,可以先设置为zh_EN(英文),然后重启jenkins,再重新设置为zh_CN(中文简体)即可。重启jenkins,可以直接在浏览器输入:http://localhost:8080/restart ,如果不是8080端口就替换成你设置的端口。

总结

本篇文章就到这里了哟有喜欢的小伙伴可以点赞收藏评论加关注哟。

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

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

相关文章

C++ 常用算数生成算法

&#x1f914;常用算数生成算法&#xff1a; 该算法函数需要调用<numeric>头文件 1.accumulate 计算总和 在 C STL 中&#xff0c;accumulate() 是一种常用的算法&#xff0c;用于计算指定范围内的元素之和。 accumulate() 的函数原型为&#xff1a; template<c…

Windows的Powershell终端增强

Ubuntu上一直用的Oh My Zsh强化终端&#xff0c;体验非常nice。最近在Win上做东西比较多&#xff0c;于是也想把Powershell这个简陋的终端加强一下。 说干就干&#xff0c;网上查了一圈&#xff0c;发现大部分人用Oh My Posh来操作&#xff0c;因此试了一下&#xff0c;发现卡…

python图像处理实战(一)—图像基础

&#x1f680;写在前面&#x1f680; &#x1f58a;个人主页&#xff1a;https://blog.csdn.net/m0_52051577?typeblog &#x1f381;欢迎各位大佬支持点赞收藏&#xff0c;三连必回&#xff01;&#xff01; &#x1f508;本人新开系列专栏—python图像处理 ❀愿每一个骤雨初…

MYSQL语句。

一些常用的操作内容&#xff0c;非常重要。首先从数据的增删改查谈起。 #增加一条数据 INSERT INTO studentdb.book(name, maker, price, num, time, autor) VALUES (Sping, 中国邮政, 500元, 456, 2021/11/30, spingsping) #查询表单结构 DESC book #查询表的内容 SELECT * FR…

MySQL语句的使用

目录 一&#xff0c;基本的增删改查 二&#xff0c;案例演示 三&#xff0c;排序拓展 1.拓展一 2. 拓展二 一&#xff0c;基本的增删改查 &#xff08;SQLServer与PLSQL的语句基本一致&#xff09; 提示&#xff1a;但是"" 在MySQL里面加号不做拼接&#xff0c…

chatgpt赋能python:Python中浮点数的定义

Python中浮点数的定义 什么是浮点数&#xff1f; 在计算机科学中&#xff0c;浮点数&#xff08;floating-point number&#xff09;是一种用于表示实数的近似值的数值类型。Python中的浮点数是由整数部分和小数部分组成的&#xff0c;可以使用小数点来表示。例如&#xff0c…

高级MySQL语句

高级MySQL语句 一、高级SQL语句 1、SELECT ----显示表格中一个或数个栏位的所有资料2、DISTINCT ----不显示重复的资料3、WHERE ----有条件查询4、AND OR ----且 或5、IN ----显示已知的值的资料6、BETWEEN ----显示两个值范围内的资料7、通配符 ----通常通配符都是跟 LIKE 一起…

MySQL语句优化

MySQL语句优化 1.通过EXPLAIN分析低效SQL的执行计划2.使用索引&#xff08;其下测试效率通过查询结果的type列的值进行评判&#xff09;1&#xff09;对于创建的多列索引&#xff0c;只要查询的条件中用到了最左边的列&#xff0c;索引一般就会被使用&#xff0c; 举例说明如下…

Mysql语句

查询 select 查询显示的列表 from 表名 select类似于&#xff1a; system.out.print(查询显示的列表), 特点: 1.查询列表可以是: 表中的字段,常量值,函数,表达式 2.查询出的表格是虚拟的表格(临时表格) 一基础查询 1.查询表中单个字段 date #1.查询表中单个字段 select us…

Mysql基本语句

1、数据库的基本类型 1.关系数据库 特点&#xff1a;以表和表的关联构成的数据结构 优点&#xff1a;能表达复杂的数据关系。强大的查询语言&#xff0c;能精确查找想要的数据 缺点&#xff1a;读写性能比较差&#xff0c;尤其是海量数据的读写。数据结构比较死板 用途&am…

MySQL的基本语句

目录 1.什么是数据库 2.数据库的操作 2.1.显示数据库 2.2.创建数据库 2.3.使用数据库 2.4.删除数据库 3.数据类型 3.1数值类型 3.2字符串类型 3.3日期类型 4.表的操作 4.1创建表 4.2往表中增加信息 5.删除表 1.什么是数据库 数据库大体可以分为关系型数据库和非关系…

MySQL 操作语句大全(详细)

sql语句总结 总结内容1. 基本概念2. SQL列的常用类型3. DDL简单操作3.1 数据库操作3.2 表操作 4. DML操作4.1 修改操作&#xff08;UPDATE SET&#xff09;4.2 插入操作&#xff08;INSERT INTO VALUE&#xff09;4.3 删除操作&#xff08;DELETE&#xff09; 5. DQL操作被操作…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,…

Chrome观看高分辨率60fps视频卡顿、丢帧问题的 问题记录

朋友的一台笔记本观看YouTube和哔哩哔哩的高分辨率视频卡成PPT 系统 是 win10企业版LTSC 版本号1809&#xff0c;使用的是Chrome浏览器 配置是i58250UhHD620,观看油管4k以上视频满负荷 安装WIN10的V9解码器. 安装V9解码器还是很卡顿&#xff0c;后来发现是谷歌浏览器的硬件加速…

酷睿i5 8250u相当于什么水平 i58250u属于什么级别

i5 8250u是笔记本处理器&#xff0c;制程工艺14nm&#xff0c;拥有4核心&#xff0c;8线程&#xff0c;cpu主频1.6GHz&#xff0c;睿频3.4GHz&#xff0c;三级缓存6MB&#xff0c;集成HD620显卡&#xff0c;显卡频率300MHz&#xff0c;最大动态频率1.1GHz&#xff0c;BGA插槽13…

学计算机的用hd620,HD620核显相当于什么独立显卡 HD620核心显卡性能评测

2017年初&#xff0c;intel推出全新七代Kaby Lake架构处理器&#xff0c;无论是笔记本还是台式机都进行覆盖&#xff0c;这一代不仅仅是CPU性能提升&#xff0c;其内置的核显也进行了升级。七代笔记本CPU内置的HD620核显相当于什么独立显卡呢&#xff1f;下面装机之家来先带大家…

HD2500显卡驱动linux,intel hd 2500驱动下载

Intel HD Graphics 2500显卡驱动程序是一款可以有效解决Intel HD Graphics 2500显卡出现的一些问题的驱动工具&#xff0c;本站提供了可以在win10系统中使用的windows版Intel HD Graphics 2500显卡驱动下载地址。有需要的朋友们可以前来下载使用。 Intel HD Graphics 2500/4000…

小米笔记本Air 13.3 指纹版安装黑苹果 macOS High Sierra 10.13 教程

注意&#xff1a;本教程只适用于「小米笔记本Air 13.3 指纹版 i5-7200U」&#xff0c;别的型号哪怕是小米笔记本Air 13.3 非指纹版或者小米笔记本Pro都会存在问题。且安装新系统这件事本身存在风险&#xff0c;有可能造成数据丢失&#xff0c;请谨慎尝试&#xff01;本教程不对…

inter uhd graphics630显卡驱动_现有190个UHD频道

欧洲通信卫星公司Michel Chabrol(高级副总裁/新电视格式)在戛纳秋季电视节节目市场的开幕式上表示&#xff0c;其数据显示&#xff0c;现在有190个超高清频道或节目信号源&#xff0c;比一年前增长了20%。 卫星传送是超高清频道的主要传送方式&#xff0c;共有93个直接频道(共1…

hd620显卡驱动 linux,倍控工控机i7 7500U PVE下核显HD620 HDMI直通成功

折腾软路由的工控机 6口 i7 7500U的时候想把HDMI接口之前接入显示器显示虚拟机WIN10的界面,查了老半天才解决,下面顺一下我的步骤。 本教程在6.0测试通过 检查CPU是否支持VT-d 虚拟机创建的时候注意一下4点: 1.不要设置开机自启动 2.如果只是直通核显设备,不要像网上那些教…