环境要求
- JDK1.8 下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- jmeter 下载http://jmeter.apache.org/download_jmeter.cgi
- ant 官网下载http://ant.apache.org/bindownload.cgi
- jenkins
提醒
ubuntu环境下搭建本套集成,推荐所有均安装在home下面,强烈不推荐安装在根目录下。调试过程中会有很多权限问题
安装环境
JDK安装
ubuntu自己安装有openidk,推荐使用sunjdk
- 下载jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 将压缩包粘贴至home下,解压
tar -xvf jdk-8u161-linux-x64.tar.gz - 修改jdk环境变量
sudo vi /etc/profile
点击i进入编辑模式,修改java环境变量
export JAVA_HOME=/home/qydev/softwares/jdk1.8.0_161
export PATH=PATH
export CLASSPATH=.:JAVA_HOME/jre/lib:$CLASSPATH
- 点击esc退出编辑模式,点击shift+:后输入wq回车保存并退出
- 使全局变量生效
source /etc/profile - 验证java版本
java -version
jmeter安装
下载就jmeter安装包jmeter-3.3.zip
解压压缩包至文件内:
- cd 打开压缩包所在文件夹
- 解压
unzip apache-jmeter-3.3.zip - 打开bin文件夹
cd apache-jmeter-3.3.zip
cd bin - 运行jmeter
./jmeter.sh - 锁定启动器在侧栏
图标右键锁定即可
ant安装并调试
- 到官网下载http://ant.apache.org/bindownload.cgi最新版,得到一个 apache-ant-1.10.2-bin.tar.gz
- 直接解压 apache-ant-1.10.2-bin.tar.gz到想要的目录,就算安装成功了
- 配置Ant环境变量:sudo vi /etc/profile
添加以下变量路径修改为自己的:
export ANT_HOME=/home/qydev/softwares/ant/apache-ant-1.10.1
export PATH=PATH
- 生效环境变量 source /etc/profile
- 打开终端,输入ant -version,打印出ant版本号表示配置成功
- 将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到
"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本 - 建了一个目录/home/qydev/softwares/jmeter_test/result_log,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中
- 在/home/qydev/softwares/jmeter_test文件中建立一个build.xml文件,build.xml内容已放在git上
- 打开终端命令窗口,cd到/home/qydev/softwares/jmeter_test目标路径下,输入命令ant,运行结束会有success信息提示,并在/home/qydev/softwares/jmeter_test/result_log/jtl下生成一个jtl文件,证明调试成功.
jenkins安装
- 打开终端命令窗口,一步步执行以下命令:
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’
sudo apt-get update
sudo apt-get install jenkins - ps -ef |grep jenkins 查看进程,查看到jenkins已安装到电脑目录下,表示安装成功.
- 创建一个名为Jenkins的Linux用户:sudo cat /etc/passwd
- Jenkins 默认端口是8080,如需修改,在配置文件/etc/default/jenkins 中修改HTTP_PORT=8080即可。
- 上面只是安装完成了Jenkins,还需要进行一些配置才可以,这时通过浏览器本地ip+端口号就可以访问Jenkins了。比如我的地址:http://localhost:8080
- 通过Ip访问后,第一个页面为: [外链图片转存失败(img-m1jTG1mI-1563363856127)(http://photo.163.com/qiyuanyoudai/#m=2&aid=316679009&pid=9899465147)]
可以看到提示,为了确保Jenkins的安全,将管理员的密码写入文件,需要复制initialAdminPassword到上面的文本框做验证.进入/var/lib/jenkins/secrets/initialAdminPassword复制(sudo nautilus可以超级权限打开文件夹)
然后,到了选择插件的界面,
,选择第一个建议安装的就可.
插件安装完成,就到了创建用户的界面,这里可以创建一个Jenkins用户,到此处配置完,基本配置就完成了。
其他配置
- 在home目录下新建一个文件夹,主目录jmeter_test,主目录下的子目录:result_log、script、build.xml
(相应的项目文件代码见下一个文档build.xml)
将build.xml文件复制到~/home/qydev/.jenkins/workspace/test目录下(jenkins的工作区在此处,要将构建文件放进工作区) - 使用jmeter完成一个接口脚本的调试,确保调试成功并保存至项目文件script目录下。
- 将报告格式拷贝至apache-jmeter-3.3/extras目录下(jmeter.results.shanhe.me.xsl、jmeter-results-report_21.xsl、jmeter-results-detail-report_21.xsl(该报告同前一个报告相同但详细一些))
- 修改apache-jmeter-3.3/bin/jmeter.properties文件
Jmeter默认保存的是.csv格式文件,因此需要把默认的进行修改,进入jmeter安装目录,找到bin/jmeter.properties文件,修改jmeter.save.saveservice.output_format=xml,需要把前面的注释符去掉
将下面内容改为如下(报告中有一些字段需要显示,哪些需要显示哪些改为true即可):
# assertion_results_failure_message only affects CSV output
#jmeter.save.saveservice.assertion_results_failure_message=false
#
# legitimate values: none, first, all
#jmeter.save.saveservice.assertion_results=none
#
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
创建jenkins项目
配置jenkins及搭建项目
安装相关插件
需要安装以下插件:Maven Integration plugin、Git plugin(如果需要git)、Email Extension Plugin、HTML Publisher plugin 、Performance Plugin
设置jenkins,系统管理-全局工具配置
在Jenkins首页,点击系统管理,然后右侧选择全局工具配置,进入全局工具配置页面,前面的不需要改动,往下滑动到JDK及ant安装处
(1)JDK安装,输入jdk版本和jdk安装的目录路径
(2)ant安装,输入ant版本和ant安装的目录路径
邮件设置
- 在Jenkins首页,点击系统管理,然后右侧选择系统管理,进入系统管理,找到Jenkins location,Extended E-mail Notification其中Jenkins URL有默认值,但是最好修改为http://172.16.0.18:8081/jenkins/。系统管理员邮件地址也一定要写,否则所发邮件会变为垃圾邮件。
- 密码需要登录QQ邮箱-账户设置-开启以下服务,发送短信,获取密码(非邮箱登录密码,stmp服务授权密码)复制粘贴至jenkins邮件通知密码处即可。
使用Jenkins,构建项目
构建的build.xml文件、测试报告文件参考下载链接: https://pan.baidu.com/s/1t04LWcqW69it26nzH5LA0g 提取码: fksx
新建项目
第一次使用Jenkins,需要新建项目,点击左侧菜单的新建,右侧选择构建一个项目,并根据实际,输入项目名称。
构建项目后回到首页,点击左边的配置
需要勾选“丢弃旧的构建”,不然每次构建数据都保存,浪费储存空间,这里保留的个数和天数的数值,根据需要填写。
源码管理
高级下方的源码管理选择none,如用git管理勾选对应选项。
构建触发器-Build periodically
设置定时运行时间,设置时间格式如下:
每15分钟构建一次:H/15 * * * * 或*/5 * * * *
每天8点构建一次:0 8 * * *
每天8点~17点,两小时构建一次:0 8-17/2 * * *
周一到周五,8点~17点,两小时构建一次:0 8-17/2 * * 1-5
每月1号、15号各构建一次,除12月:H H 1,15 1-11 *
*/5 * * * * (每5分钟检查一次源码变化)
0 2 * * * (每天2:00 必须build一次源码)
增加构建步骤
选择invoke ant ,然后在Ant Versionn处,选择之前安装的ant版本,Targets填写all即可;右侧点击高级,展开的页面,在Build File中填写脚本文件的路径以及名称(例:/home/qydev/.jenkins/workspace/test/build.xml),Properties填入test=build.xml
增加构建后操作步骤
- publish html reports,Jenkins的项目中,就会出现一个HTML样式测试报告的菜单
- HTML directory to archive处填写报告生成后存放的地址(例:/home/qydev/jmeter/jmeter_test/result_log/html)
- Index page[s]处改为*.html
增加构建后操作步骤
- E-mail Notification,当构建不稳定或者失败时会通知收件人,输入接收邮件即可
邮件内容设置
- 项目配置-增加构建后操作-选择"Editable Email Notification"
第一项Project Recipient List:添加收件人邮箱,如有多个收件人需要换行;
第二步点击右下角高级选择Always,此处表示主要构建就要发邮件,然后再点击高级,Reply-To List此处填写发件人,Content Type选择HTML,Subject填写邮件标题,Content邮件内容.
第三步Content邮件内容如下:
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志 XX公司
<tr>
<td colspan="2" align="center">
<div>${FILE ,path="wpeng_test/*.xml"}</div>
</td>
</tr>
<tr>
<td>
<b><font color="#0B610B">变更信息:</font></b>
<hr size="2" width="100%" align="center" />
</td>
</tr>
<tr>
<td>
<ul>
<li>上次构建成功后变化 : ${CHANGES_SINCE_LAST_SUCCESS}</a></li>
</ul>
</td>
</tr>
(Hi all 本邮件为启元接口运行情况报告,由程序自动下发,请勿回复!) | |
构建结果 - ${BUILD_STATUS} | |
构建信息 | |
| |
测试报告 |
- 上次构建不稳定后变化 : ${CHANGES_SINCE_LAST_UNSTABLE}
- 历史变更记录 : ${PROJECT_URL}changes
第四步:填写完成点击保存,即可. 以上项目配置完成,就可以构建了,构建时,点击左侧的立即构建按钮,即可开始项目构建。
构建成功
- 回到项目文件/home/qydev/softwares/jmeter_test/result_log/html即可查看所监控的接口报告。
- 生成的报告如果Min Time和Max Time 结果为NaN,解决方法为:
把jmeter安装目录Lib下的xalan-2.7.2.jar,serializer-2.7.2.jar 这两个包复制丢掉ant安装目录lib下即可.