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

如果想学习下其他知识,可以去看看下面这些文章哦!

系列:

接口自动化系列:

基础:

安装安装

那是一个属于开源性质的软件项目, 它是借助java所开发出来的一种持续集成工具, 其用途在于对持续重复开展着的工作做监控,它的目的是要提供出一个开放且易于使用的软件平台, 从而让软件的持续集成能够成为现实。因为它是基于java开发的缘故, 所以它也是依赖java环境的, 在安装它之前需要先去安装jdk, 建议装jdk1.8及以上版本, 安装完成之后要去配置java环境变量。当安装jdk成功了以后, 在cmd当中使用java - 就能够查看jdk版本信息。

官网的下载地址在这儿, 或者能通过这个网址直接去下载, 所下载的包, 它既能够是.war这种格式, 又能够是.msi这种格式。

假设是.war, 那样就要把此文件放置于一个目录里头, 开启cmd, 进入到该文件所处的目录, 去执行: java -jar.war ------ =8080这边就成;要是是.msi, 那就直接通过双击来打开并运行安装。

将其安装完毕以后, 开启浏览器并输入: :8080, 便会呈现出下面这个图示。

先稍微等上一阵子, 届时会出现需要输入管理员密码的提示, 依据提示前往对应的路径去找到这般文件, 借助记事本将其打开, 其内会存在一个密码, 把此密码粘贴至文本框中, 点击确定便可。

到达下图所示的这一步之际, 选取左边依照安装推荐的插件, 安装插件的进程将会较为漫长, 要是网络状况比较差, 众多安装遭遇失败的情形下亦能够点击跳过安装, 如此便会跳转至设置用户的页面, 设定一个用户密码, 进而进入主页面了。

离线安装插件

若是在安装之际出现跳转到插件安装的情况, 后续要是还盘算安装插件, 能够于主页面的系统管理》插件管理那儿开展下载, 一旦网络状况欠佳导致下载插件迟缓或者失败之际, 不妨尝试前往此插件列表予以下载: , 下载所获的是.hpi格式的文件, 待下载完毕后, 于系统管理》插件管理》高级》上传插件处, 上传对应插件的.hpi文件, 而后重启便可。

离线升级

在需要进行升级之时, 若在线升级的速度较为迟缓, 那么同样地, 我们能够选择离线方式去实施下载, 所推荐的下载地址为: , 而下载的乃是带有.war后缀的包。

​ 离线升级步骤:

下载war包, 要先见上所述进行替换war包的操作, 找到放置在本地的war包的安装路径, 此路径能在系统管理这一板块里, 于系统信息当中查询获得, 之后把下载完毕的war包去替换掉原本就已存在的war包。

以利用同时按下 Ctrl 键、Alt 键以及 Del 键的方式, 将任务管理器予以打开, 之后对服务进行重新启用, 从而实现对服务的重启操作。

部署项目

若是处于不存在编译器的状况下, 那我们要怎样去运行项目呢? 能够在命令行这下直接进行运行操作, 不过运行时得先切换到项目路径之处, 接着在cmd当中输入文件名.py, 或者不做路径切换, 直接输入文件的完整路径, 就像这样: c:\test\main.py。

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

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

每一个项目被设立之后, 都得先开展一回构建才会存在工作区间, 不然进入工作所需区域便会呈现如下这般:

一边构建之后, 再点击进入工作区间时, 会显示"空目录", 这是鉴于我们尚未将测试项目放置到。要先寻到安装目录下的, 紧接在对应目录里头, 把我们一整个的测试项目拷贝过来就行, 如下:

若源码并非处于本地, 而是运用的git或者svn, 那么将项目的git/svn配置妥当, 在执行构建之后, 便会自动把服务器上的代码拉取下来。以下是源码管理以及构建的步骤:

源码管理

需安装插件, 比如 git/svn 来进行源码管理( code ), 若没有插件则显示选择无, 直接使用本地代码, 且要将其拷贝到工作区间。

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

构建

  1. 构建是什么, 就是询问怎样去运行项目。2. 要添加构建步骤, 要是在batch环境里, 或者在linux系统下, 又或者是mac系统下, 选择shell。3. 之后输入终端执行命令:是文件名.py。4. 保存之后, 点击构建(build now)就行。5. 通过这种方式就能去运行项目。6. 不过一定要注意, 这里运行的文件得存放在工作区间的根目录之下。7. 这是因为, 这里默认的就是根目录。

达到能够运行项目的状态后, 在相应项目之中, 通过点击build now(立即构建)这一操作, 具备了能够运行项目的条件了, 在左下角能够把构建进度以及构建既往历程查看明晰到位, 除此之外对控制台的输出物也具备查看的能力了。

发送邮件

在另一篇随笔当中, 已经针对如何使用发送测试报告进行了介绍, 其有传送门。现在, 就来针对如何使用来发送邮件作出介绍。

安装插件

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

配置邮件地址

位置为, 管理, 进到系统配置, 于系统管理员邮件地址处, 输入那对应的邮件地址。

配置smtp服务

所处位置为, 管理这一板块当中的系统配置部分里的E-mail选项, 在此需填写与之对应相关内容, 也就是smtp服务器所要关联填录的信息, 以下所呈现的乃是qq邮箱的示例情况, 获取授权码的具体点位可见传送门处, 此为说明。

轻触高级选项, 键入与之对应的邮箱地址, 以及用于smtp登录的授权码, 而后勾选ssl。

配置邮件触发器

位置处于管理, 进入系统配置, 默认状态是勾选失败方才发送, 能够进行配置使其总是发送, 或者依据需求来勾选, 如此一来, 每当运行项目的时候, 便都会发送邮件。

尤为需要特别留意的是, 要是项目已然被创建完成了(项目默认情形下是失败发送), 随后才去进行系统触发器的配置设置(配置之后总是发送), 如此一来项目就会去读取项目自身的触发器, 倘若先是配置好了系统触发器, 之后才创建的项目, 这样子项目的触发器便是读取系统触发器的。若要把控项目的触发器, 可详见第5点。

配置构建后操作

位置: 对应项目, 进入配置, 添加构建后操作里的 Email , 输入收件人邮件地址, 此为 List, 多个邮箱要用英文逗号进行隔开;输入附件内容, 是 /.html, 这里所输入的乃是: 项目存放测试报告的文件夹名以及测试报告文件名。

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

​ 邮件触发器:

html展示配置

项目经配置后所生成的html报告, 能够直接于项目里进行查看, 情况如下所示:

​ 需要安装插件:HTML

先安装, 之后进行配置, 使项目被构建, 再实施后操作, 即针对对应项目, 找到如下步骤, 前往配置之处, 添加构建后操作。

在完成配置之后, 再次对项目进行构建时, 项目便会生成HTML目录, 可是当你去查阅这份报告时, 你将会发觉, html报告在页面上所呈现出来的样子并不堪称美观, 究其原因所在, 那是由于当中缺少了html里的css与js, 而这是因为其被默认设置成禁止css和js的状态。

​ 解决办法:

在管理这个范畴里的命令行终端那里, 键入: 那个点, 括号里的此内容".model.ort.CSP"-还要键入这样连接字符串的值哦"-src '-'",然后去点击那个【运行】按钮就行啦记住了哈要是重启之后呢就会恢复成默认设置此时呀需要重新进行配置哦。

定时任务

简单来说呢, 意思就是按照规定的时间去推动项目的执行, 其配置所在的地方是, 与对应项目相关联的, 配置选项当中的, 构建相关的触发设置部分, 也就是定时构建(Build)这个具体的设置项。

定时规则分成5个部分, 分别是分钟, 小时, 每月的日子, 月份, 星期, 每个部分要用空格隔开, *代表所有, 要是5个*, 那意味着每分钟执行一回, 再举个例子, 30 8 * * 1, 这表示每周一上午8点30分执行一回。每次输入定时规则时, 下方会有提示说明, 还有上一次运行时间, 下一次运行的时间。

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

构建触发器

实际上, 存在这样一种可能性, 即我们运行项目并非必然要定时去执行, 或许在开发人员每次发布版本时, 我们就要随之执行构建一次, 从而观察开发的新产生的代码是否会出现问题, 如此一来, 我们就能够配置一个构建触发器。

配置所在位置是, 对应项目, 之后进入配置, 接着来到构建触发器, 再到其他工程构建后触发这一项(Build after other are build), 需要输入与之对应的项目名称, 然后选择构建稳定时触发, 其含义是, 我的测试脚本项目, 要做到在另一个项目, 也就是test项目, 这里说的是开发的那个项目, 部署构建完毕之后, 且没有出现任何问题的情况下, 才会触发构建我的测试脚本项目。

也就是说, 每一回开发发版取得成功之后, 便会开展一遍我的测试脚本项目的构建。堪称完美。

汉化

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

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

要是配置完毕后呈现出半英文半中文的状况, 能够先将其设置成zh_EN(英文), 接着进行重启, 随后再度设定为zh_CN(中文简体)便可施行。重启之时, 能够径直在浏览器当中输入: :8080/ , 要是并非8080端口乃设置端口, 则取而代之。

相关推荐
爱吃苹果的梨叔4 小时前
训练集群网络中断怎么办?智算机房的 Console 串口排障方案
网络·python·智能路由器·php
李妍.7 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy7 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_965958468 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
普通网友8 小时前
Springboot中使用Elasticsearch(部署+使用+讲解 最完整)
spring boot·elasticsearch·jenkins
虫小宝8 小时前
优惠券省钱APP查询性能优化:Elasticsearch与Canal实现的多维度商品搜索毫秒级响应方案
elasticsearch·性能优化·jenkins
微小冷9 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
weixin_431600449 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了9 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源