1、已写好jmeter脚本
2、安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter
3、修改jmeter的jmeter.properties文件(将下面配置直接放入改文件):
jmeter.save.saveservice.output_format=xml
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=false
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.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
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
4、网上找个jmeter.results.shanhe.me.new.xsl包放入jmeterextras目录中:报告输出模板
5、新建一个TestCase(用于放测试脚本及报告和构建文件build.xml)
6、在TestCase新建report文件和build.xml文件,及将执行脚本放入TestCase文件中:
report文件新建HTML和JTL文件夹用于存放生成的html报告及jtl文件
build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="E:apache-jmeter-5.0apache-jmeter-5.0" />
<property name="report.title" value="接口测试"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:apache-jmeter-5.0apache-jmeter-5.0TestCase
eportJTL" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:apache-jmeter-5.0apache-jmeter-5.0TestCase
eportHTML" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.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="E:apache-jmeter-5.0apache-jmeter-5.0TestCase" 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.shanhe.me.new.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>
7、安装Jenkiins 并构建jmeter脚本
构建环境选用调用ant,把刚配置好的构建文件build.xml路径放到构建文件中,
再添加一个window批处理命令,用于删除上次产生的jtl文件(作用:使报告不产生重复数据):
cd E:apache-jmeter-5.0apache-jmeter-5.0in
E:
del /s /Q E:apache-jmeter-5.0apache-jmeter-5.0TestCase
eportJTLTestReport.jtl
pause
构建后操作添加一个Publish Html report(插件自行下载)用于在jenkins上显示报告,对应加上测试报告文件路径及报告名称
新增一个构建后操作:邮件发送,Editable Email Notification
Default Content(报告样式)可到网上自己找或自己写一个:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<div>
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<th align="center" colspan="2">
<br />
<h2>构建信息</h2></th>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<br />
<li>详细测试报告 :
<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<br />
<li>说明:打开测试报告地址后请点击HTML Report查看报告详情</li>
<br />
<li>触发原因: ${CAUSE}</li>
<br />
<li>项目 Url :
<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<br /></ul>
</td>
<td>${JELLY_SCRIPT,template="html"}
<br/></tr>
<tr>
<td colspan="2" align="center">
<br />
</tr>
<tr>
<td colspan="2" align="center">
</tr>
</table>
</div>
</body>
</html>
8、Jenkins发送邮箱配置---系统配置:
Password为邮箱客户端授权密码
Default Content:配置默认格式
9、集成到钉钉发送钉钉提示信息:
系统配置-插件管理下载钉钉插件
10、在构建项目-配置中新增构建后操作添加钉钉机器人后复制对应的 token就可以了:
11、测试报告: