jenkins+ant+jmeter接口自动化的持续集成
一、jmeter、jenkins安装
这里不再说明,请看上一个随笔!!!
链接:https://www.cnblogs.com/magicYJ/p/11839646.html
二、ant安装
下载地址:https://archive.apache.org/dist/ant/binaries/
下载后,将其解压
然后配置环境变量,有二个地方
1、系统变量新增ant_home
2、path下新增ant的bin目录
配置完成后,检查是否安装完成,在cmd下输入ant或者ant -version,显示如下,表示成功
三、环境配置
1、把文件夹jmeter的extras目录下的ant-jmeter-1.1.1.jar复制到ant文件夹的lib目录下
2、xsl模板下载,下载地址:http://shanhe.me/node/18/314
下载完成后,复制到文件夹jmeter的extras目录下
四、脚本规划
1、在f盘中新建文件夹ant-jmeter,在其中新建文件夹result和script,还有build.xml,这里的xml后面详细说明,在文件夹result新建文件夹html和jtl,具体如下
2、把脚本复制到文件夹script下
3、修改jmeter.properties
3.1修改 jmeter.save.saveservice.output_format=xml
3.2修改jmeter.save.saveservice 注:去掉#号,把false修改为true,这里看大家自己意愿,愿意修改就修改,只是输出结果的差异
4、关键部分,修改build.xml
4.1新建一个记事本,改名为build.txt
4.2写入如下内容
<?xml version="1.0" encoding="utf-8"?>
<project name="jmeter_test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm"/>
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\apache-jmeter-5.1.1"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="F:\ant-jmeter\result\jtl"/>
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="F:\ant-jmeter\result\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="F:\ant-jmeter\script" 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-detail-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>
4.3修改如下内容,修改成自己的路径,把build.txt改后缀为build.xml
基本配置到此结束
在cmd下检验,进入文件夹ant-jmeter中,输入ant
5、查看结果
五、集成jenkins
1、增加构建execute windows batch command
当然也可以选择invoke ant,这个本人没有去尝试构建,欢迎大家尝试
2、增加构建后操作publish html reports
3、增加构建后操作editable email notification,发邮件大家自行配置,这里不再啰嗦
4、bulid
到此基本完成了,大家不懂的欢迎留言,一起讨论!!!