Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins做自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理。
在搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境、安装好jenkins以及配置好jmeter,这样才能省去很多的事情,如果在搭建这套环境之前,还没有配置好刚提及的这三套工具环境,那还得先配置一番,具体的配置方法就不细说,可参见以前的博客:
1.jmeter安装:https://www.cnblogs.com/hong-fithing/p/7640014.html,该博文中包含java环境的配置方式
2.jenkins安装:https://www.cnblogs.com/hong-fithing/p/10290315.html
将前置工作做好后,那就进入到今天的话题,jmeter+ant+jenkins的环境搭建
ant下载及环境变量配置
1.ant下载
官网页面如下,找到download位置,点击下载ant安装文件
2.配置ant环境变量
环境变量的配置方式就不用多说了,如下所示:
3.检查配置成功与否
win+r打开cmd控制台,输入ant或者ant -version回车,出现如下界面,即表示配置成功
ant配置
1.将\apache-jmeter-3.3\extras下面的ant-jmeter-1.1.1的jar包到ant的lib目录
如下所示:
2.配置xml文件
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddHHmmss" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="C:\apache-jmeter-3.3" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-3.3\demo\report\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="C:\apache-jmeter-3.3\demo\report\html" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="run"> <antcall target="test" /> <antcall target="report" /> </target> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--> <testplans dir="C:\apache-jmeter-3.3\demo" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-report_21.xsl"> <!-- 修改自己本地存在的样式文件名 --> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
将对应需要修改的配置,改成自己环境路径以及名称即可
3.修改jmeter下jmeter.properties配置
将jmeter.save.saveservice.output_format=csv修改为:jmeter.save.saveservice.output_format=xml
文件路径:C:\apache-jmeter-3.3\bin\jmeter.properties
dos窗口运行脚本
结合配置文件中的配置,将脚本放到对应的文件夹中,在dos窗口进入到对应目录下,输入ant回车,即可运行脚本
测试报告
提示successful,表示运行成功,来看对应的测试报告,如下:
配置日期格式
配置日期格式混淆了,故做个记录
/*
* 日期格式化类(必须掌握)
* API:
* G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800
脚本在dos窗口运行成功,说明jmeter+ant是已经实现,现在就要结合jenkins来实现自动构建。在安装好了jenkins的环境中,输入localhost:8080即可进入jenkins页面,地址和端口看各自的配置
jenkins中任务配置
1.jenkins中创建任务
2.任务配置
配置构建
3.配置测试报告
需要先安装插件HTML Publisher,插件安装成功后,才有该选项,具体安装就略过了
配置好,保存即可
构建任务
1.立即构建
2.查看报告
就是刚配置的html报告
报告模板样式可以更改,下载样式后,在build.xml配置文件中修改即可
问题总结
1.构建时,提示ant.bat不是内部或外部命令,也不是可运行的程序或批处理文件。
解决办法:检查配置,发现是配置ant时,名称与系统配置的ant名称不一致,导致构建失败。如下两图所示,名称需保持一致。
环境配置下来,其中也学到了很多,之前看文章知识,觉得配置是个很麻烦的事情,自己实际操作一番,倒觉得也不是那么难,只要自己想做,就一定可以。