一、操作环境:
win10、apache-jmeter-5.2.1、apache-ant-1.10.10、jenkins(2.277.4版本).war
二、环境下载:
apache-ant:http://ant.apache.org/bindownload.cgi
- ant安装
下载后将压缩包解决至D盘目录,如图:
配置环境变量:
ANT_HOME:D:\Programs\apache-ant-1.10.10
path:%ANT_HOME%\bin
配置好后,打开cmd输入ant -version ,输出如图,表示成功
- jenkins安装:参考:
安装成功后,修改Jmeter配置
修改jmeter的bin目录下的jmeter.properties文件
jmeter.save.saveservice.output_format=xml
三、环境准备好后,开始配置
- 在D盘创建如下目录:jmeter-workspace、jmx、jtl、report、build.xml
jmx:用于jmeter生成的*.jmx文件
jtl:用于存放生成的*.jtl文件
report:用于存放生成的*.html文件
build.xml:用于ant执行的脚本文件
注意:关于build.xml文件,网上有许多从jmeter生成的文件,复制过来进行修改,然后在ant文件放置一份,其实不用那么做,我用那种方式,没有成功
- 完整的build.xml文件,自己使用时,复制一份,只需要修改里面提示的即可,
需要特别注意:
jmeter-results-detail-report_21.xsl、ant-jmeter-1.1.1.jar
mail-1.5.0-b01.jar
一共3个文件都 放入ant安装文件的lib包中
<?xml version="1.0" encoding="utf-8"?>
<project name="test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="MMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\Program Files\apache-jmeter-5.2.1" />
<!-- 需要修改第1个:jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\jmeter-workspace\jtl" />
<!-- 需要修改第2个:jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\jmeter-workspace\report" />
<!-- 生成的报告的前缀 -->
<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" />
<!-- 电脑地址 -->
<property name="ComputerName" value="vincentwong" />
<target name="all">
<antcall target="test" />
<antcall target="report" />
<antcall target="sendEmail" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 需要修改第3个:声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="D:\jmeter-workspace\jmx" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<tstamp>
<format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/>
</tstamp>
<xslt
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param
name="dateReport"
expression="${report.datestamp}">
</param>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<!-- 发送邮件 -->
<!-- 需要修改第4个:收件人名字和收件内容 -->
<target name="sendEmail">
<mail mailhost="smtp.163.com"
mailport="25"
user="发件人邮箱"
password="发件人设置的授权密钥"
ssl="false"
subject="xxxx后台接口功能自动化回归测试报告${time}"
messagemimetype="text/html">
<from address="发件人邮箱"/>
<to address="收件人邮箱1"/>
<to address="收件人邮箱2"/>
<fileset dir="${jmeter.result.html.dir}">
<include name="${ReportName}${time}.html"/>
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
<message charset="gb2312">
Dear All:<br />
这是一封xxxx后台接口功能自动化回归报告的邮件。<br />
测试报告附在附件,请将图片和报告文件都下载在同文件夹,再使用浏览器打开查看。<br />
谢谢。<br />
</message>
</mail>
</target>
</project>
- 使用jmeter创建一个测试脚本,放入 D:\jmeter-workspace\jmx 中, 创建方法参考:
四、集成jenkins
- 创建一个job,命名jmeter-workspace,如图:
- 源码管理选:无
- 构建触发器【jenkins定时任务】:选择Build periodically,填写定时构建的时间,时间设置参考:
- 构建:选择ant,安装好后,在下拉框会有选择提示,target填写构建后,触发的操作,根据build.xml文件中配置填写