搭建Jenkins+Jmeter+Ant自动化集成环境
一、安装前准备
1.JDK:jdk-8u121-windows-x64
2.jmeter工具:apache-jmeter-5.2
3.ANT工具:apache-ant-1.9.7-bin
4.jenkins工具:jenkins-2.32.2
以上安装包工具及版本下载地址:、pan.baidu.com/s/1pKWPi5d、pan.baidu.com/s/1pKWPi5d、pan.baidu.com/s/1pKWPi5dpan.baidu.com/s/1pKWPi5dpan.baidu.com/s/1pKWPi5d
链接: 百度网盘 请输入提取码
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦
二、软件安装
1.JDK的安装
>双击JDK安装包,选择安装路径(默认安装在C盘,熟悉之后,可以自定义安装,放在D盘或者其它盘都可以);
1)系统变量→新建 JAVA_HOME 变量 。
变量值填写jdk的安装目录(本人是 C:\ProgramFiles\Java\jdk1.8.0_121);
2)系统变量→寻找 Path 变量→编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
3)系统变量→新建 CLASSPATH 变量
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)
系统变量配置完毕
4)检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)
若如图所示 显示版本信息 则说明安装和配置成功。
2.jmeter软件安装
Jmeter是免安装模式,直接将压缩包解压至D盘根目录下即可,需要配置环境变量。
>解压apache-jmeter-5.0.zip到D:\apache-jmeter-5.0目录下。
>Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的全部文件拷贝到D:\apache-jmeter-5.0\lib\ext目录下;
>配置jmeter环境变量:
1) 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\apache-jmeter-5.0,点击确定即可。
2) 在环境变量CLASSPATH中添加
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;
在环境变量Path中添加
%JMETER_HOME%\bin
(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
3) 检验是否配置成功 运行cmd 输入 jmeter -v (jmeter和 -v 之间有空格)
若如图所示 显示版本信息 则说明安装和配置成功。
2.13版本提示:
5.0 版本提示:
三、安装ANT
>解压apache-ant-1.9.7-bin.zip到D:\apache-ant-1.9.7根目录下;
>配置ANT环境变量
1)新建以下环境变量:
ANT_HOME:D:\apache-ant-1.9.7,此为你的ANT安装路径;
设置完成后,点击"确认"来保存。
2)在环境变量PATH的最后面添加一下内容:
;%ANT_HOME%\bin
(注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。)
进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.
四、ANT+Jmeter整合
1、将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到
"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本
2、建了一个目录D:\JmeterTest\resultLog,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中。
备注:这个目录就是用来存放集成测试项目用的目录结构。
3、在D:\JmeterTest文件中建立一个build.xml文件,build.xml内容如下:
当然,如果只是构建一个项目,那么这个build.xml文件可以放在D:\apache-ant-1.9.7\bin 目录下。
build.xml代码在百度网盘中 ,注意要修改红色框框的容
<函数env用来将jenkins中的build编号传入到报告中>,后面和jenkins集成时会用到,非常重要,不然收不到html报告。
4、准备好jmeter测试脚本文件(jmx格式),放在和build同一个目录下
进入命令窗口,D:
然后cd切换到目标路径下(我的是D:\JmeterTest),输入命令ant敲回车,运行结束会有success信息提示
注意:必须要有被测试脚本文件,否则 ant的时候不能够build成功。
问题:前言中不允许的内容:
解决办法:修改配置文件
jmeter.save.saveservice.output_format=csv,修改为 jmeter.save.saveservice.output_format=xml,注意是小写的xml,并且去掉 #
这是一个项目的build目录,我们可以创建多个项目目录,每个目录下有自己对应的build.xml文件和测试脚本文件.jmx文件。
注意:build.xml中的路径要修改到对应项目路径,文件名等等
五、Jenkins的安装部署
1、jenkins 的安装
>接下来安装jenkins,解压下载好的Jenkins并安装,然后就是一路next(可以更改自己的安装路径)。
安装完成之后会自动弹出浏览器,其中地址是http://localhost:8080,因为我之前安装了tomcat(默认端口是8080),因此需要更改jenkins文件配置,找到 jenkins安装目录下\Jenkins\jenkins.xml文件,然后更改端口号,我改成的是6060(httpPort=6060 )
默认,继续next.
安装完成后,点击finish,会出现以下网页页面:
如果没有弹出这个页面,请重新启动jenkins,打开浏览器,输入http://localhost:6060,打开界面会有一个admin用户登录界面,需要输入密码,给出的英文提示是需要到安装目录文件下找到secrets文件夹,然后再initialAdminPassword文件中复制内容到登录界面的密码框中,登录即可。
方便起见,开始使用Jenkins后修改密码。
打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议关闭这个提示窗口,先不安装插件,后面需要插件再安装)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可
登录jenkins: http://localhost:8080/
登录以后,方便起见,建议修改密码
2、Jenkins 配置(插件安装及配置)
1、登录首页: Jenkins主页
2、系统设置->管理插件->可选插件,搜索Performance plugin(Jmeter报告需要),安装此插件
/* 如果插件安装成功,就跳过此部分内容*/
补充内容:插件安装的过程中有可能出现插件安装失败的情况,一般都是由于jenkins版本过低造成的:
解决方案一:下载最新的 Jenkins 版本 jenkins一键安装包下载 - Jenkins中文网,升级后直接安装插件;
解决方案二:打开提示信息,手动下载插件,然后加载安装;
(以下以git为例,但是自动化框架中可以不用安装git插件,方法一样的)
注意观察状态:
点击Details,打开查看失败信息,复制插件 .hpi网址,在 浏览器中打开,
回到jenkins的插件管理页面,在advanced(高级)中,手动加载插件
插件更新安装成功了,但是这个方式就是比较麻烦,要每一个这样搞,大家根据自己的环境来选择。(搞好以后呢,后面就比较轻松,还是值得的。)
3、因为需要用到ANT和JDK,所以需要在jenkins中添加插件
插件安装完成后,选择点击“系统管理”,之后在Global Tool Configuration的界面看到ant和jdk选项,然后将自己本地的ANT和JDK地址填写上
1
2
重启电脑,重新登录 Jenkins,进入Global Tool Configuration
3
点击 Add JDK ,去掉 requlred 复选框
4
5
Ant的操作也是一样,点击 ADD ant ,然后去掉 requlred 的复选框的勾选。
6
7
到此, 你可以创建项目就能实现开始自动构建了,一个简单的接口测试平台完成,但是目前是不会发送构建邮件出来。
3、创建项目,配置设置。
选择Freestyle project,点击ok,进行具体的项目配置。
1 、项目的一般配置
点击高级 advanced :选择自定义工作路径
2、代码管理设置
因为没有关联git或者其它代码管理工具,所以 source code management 下是 none。
3、build 环境设置
build environment 选择 with ant ,然后下拉选择自定义好的 JDK,ant
4、build 设置
配置完成,先Apply,然后 save保存,可以build测试下
5、 配置定时build(build triggers)
6、配置、测试邮件(post-build actions 构建后设置)
设置邮箱之前,需要先安装邮件相关的插件:
一:
备注:重启电脑,不然有插件无法显示
邮箱信息设置:分两大部分组成(一、管理员发送邮件配置;二、具体项目邮件配置)
1)系统设置部分
在系统设置中找到Jenkins Locaction项填入Jenkins URL和系统管理员邮件地址,系统管理员邮件地址一定要配置,否则发不了邮件通知。因为邮件通知都是由系统管理员的邮箱发出来的
Extended E-mail Notification和E-mail Notification 设置
>按照如下图所示设置即可,本处设置的是126企业邮箱的服务,其他邮箱按照类似设置即可。
>>首先在度娘中找到SMTP服务器地址和端口号及设置126邮箱或者QQ邮箱的POP3/SMTP服务,具体要根据自己的邮箱去查找,也可以通过Foxmail找到。
126邮箱怎么开启POP3 SMTP IMAP服务
https://jingyan.baidu.com/article/17bd8e526ddb4185aa2bb852.html
>>在Jenkins中找到邮件通知项,填入SMTP服务器信息及用户名、密码等认证信息
勾选 test configuration by sending test email,可以测试邮件发送是否OK
测试邮件发送成功之后,Extended E-mail Notification参照上面的设置即可。(注意:必须配置,否则后期项目构建发送邮件将失败)
到此,构建完成以后会发出邮件来第一部分设置是通的,测试也OK,接下来在具体的项目中进一步设置 。
2)项目post-build-actions 中关于邮件的配置
1
2
添加完插件还没有,重启电脑
4
5
>点击“add trigger”,选择always
图6
图7
6
模板内容:
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
svn版本号:${SVN_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:${BUILD_URL}console<br/><hr/>
构建地址:$BUILD_URL<br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
邮件样式展示出来:
(本邮件是程序自动下发的,请勿回复!)
项目名称:$PROJECT_NAME
构建编号:test_$BUILD_NUMBER
svn版本号:${SVN_REVISION}
构建状态:$BUILD_STATUS
触发原因:${CAUSE}
构建日志地址:${BUILD_URL}console
构建地址:$BUILD_URL
变更集:${JELLY_SCRIPT,template="html"}
>添加附件
>将构建日志压缩作为附件也添加到邮件当中发送,需要注意的是,每一次构建都会产生一个报告文档,仓库里会包含有之前构建的所有的报告文档,所以需要打包的是当前这次产生的报告文档,不是之前的构建产生的文档。
添加附加:resultLog\html\${BUILD_NUMBER}.html,resultLog\html\*.png
图8
>点击应用“apply”,然后保存
>测试能否收到了邮件,点击“立即构建”
6、邮件测试结果(收到邮件)
问题:清除构建记录
代码内容:
def jobName = "ugou-admin-online" //删除的项目名称
def maxNumber = 600 // 保留的最小编号,意味着小于该编号的构建都将被删除
Jenkins.instance.getItemByFullName(jobName).builds.findAll {
it.number <= maxNumber
}.each {
it.delete()
}
问题:如果一段时间过后,Jenkins的自动邮件发送失败了,有可能是你修改了qq密码(如果在配置自动发送邮件时用的是QQ邮箱),这时候就需要在QQ邮箱中重新生成“授权码”,将覆盖上去