本文主要记录Jmeter配置完脚本之后,与Jenkins集成测试并发布图形化测试报告
- 将Jmeter中配置的测试计划保存成jmx文件
- 配置build.xml文件,具体见附录
- 下载ant,并在Jenkins中引用

- 调用ant进行构建测试

- 测试完成后发布生成html文件报告

- 发布jmeter生成的jtl报告

- 在邮件中引用生成的报告
附录一:生成如上报告需优化测试报告,具体如下:下载jmeter.results.shanhe.me.xsl,存放在\apache-jmeter-3.1\extras目录下,且更改jmeter.properties文件中设置,如下:
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
# Only available with HttpClient4
jmeter.save.saveservice.sent_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
修改bulid.xml文件,如下:
...
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" />
...
附录二:build.xml文件配置
<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<property name="script" value="script" />
<property name="result" value="resultLog" />
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="F:\testTool\apache-jmeter-3.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${result}/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${result}/html" />
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="XXTestReport" />
<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="script" value="script" />
<target name="clean.result" description="cleanup result">
<delete dir="${result}"/>
</target>
<!-- 配置生成的报告地址 -->
<property name="ComputerName" value="user-PC" />
<target name="all" depends="clean.result">
<mkdir dir="${jmeter.result.jtl.dir}"/>
<mkdir dir="${jmeter.result.html.dir}"/>
<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="${script}" includes="*.jmx" />
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<!-- 发送邮件 -->
</project>
本文介绍了如何使用JMeter完成接口自动化测试,并与Jenkins集成,通过ant脚本进行持续集成。测试完成后,文章详细说明了如何生成和发布图形化的HTML测试报告,包括对JMeter配置文件的调整以及build.xml文件的定制。
&spm=1001.2101.3001.5002&articleId=103237396&d=1&t=3&u=fad7b450169440d9ae4c4c99f26e8131)
4728

被折叠的 条评论
为什么被折叠?



