最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢?
这个时候,自然而然地想到了万能的ant,希望它能有相应的jmeter task。
哎,哎,查了一下,还真有,爽歪歪啊。
下面简单说明一下,如果使用:
① 首先,为了能够在ant中使用jmeter task,必须将“ant-jmeter-1.1.1.jar”这个jar包放到ant的classpath中去。这个jar包位置 jmeter的安装目录下的 extras 目录中。
PS:可直接将这个jar拷贝至ant安装目录下的lib目录中去就可以了。
② 编写脚本
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="all" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="F:\xxxxx\Jmeter" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="F:\xxxxx\resultLog\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="F:\xxxxx\resultLog\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="all"> <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="D:\test_case_path" 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>
③ 生成的结果报告如下图
④ 下面说一个,我在使用过程中遇到的一个问题: 就是在执行 最后生成报告的 task 时,一直报下面这个错:
TransformerException, Content is not allowed in prolog.
后来在ant-jmeter官网上查到了原因:
Note: As of JMeter 1.9RC2(?), the default results output format is now csv. It must be changed to xml in order to use the xslt task to create the html report:
所以需要修改Jmeter的一个配置
jmeter.save.saveservice.output_format=xml
然后就可以正常生成报告了啊
附: ant-jmeter官网: http://www.programmerplanet.org/projects/jmeter-ant-task/
相关推荐
(1)批处理命令bat文件: (2)build.xml文件、 (3)user.properties、jmeterxml.properties、jmetercsv.properties文件。...【jmeter】jmeter报告可视化:配置生成报告仪表板,jmeter+Jenkins自动化构建生成HTML报告
Jmeter+ant自动生成测试报告的模板,测试报告中增加TPS(Throughput)和90% Line等指标;
ant +jmeter 生成测试报告操作步骤文档,jmeter 加ant 生产漂亮的报告
swagger通过OpenAPI Generator自动生成Jmeter脚本。 我们熟知,Jmeter可以自身录制脚本,还可以Fiddler录制生成Jmeter脚本,不管是Jmeter本身的录制还是Fiddler录制,都需要耗费较长的时间。今天我们介绍更简便的...
配合ant使用,可以让jmeter飞起来,文件中对生成的文件进行了备份归档整理,同时调用两个测试报告模版,让功能更加强大
右击用记事本打开,修改对应的文件路径、脚本名称,即可定时运行Jmeter脚本
jmeter实现接口自动化测试: 1)buil.xml文件实现了测试报告和发邮件 2)优化后的报告模板:jmeter-results-newreport.xsl
JMeter+ant测试报告优化
课程主要目录: 1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 3:Jmeter 各大组件介绍说明 4:实战项目环境搭建 5:脚本录制之 badboy 6:脚本录制之 jmeter 代理 7:脚本录制之移动端APP录制 8:Fiddler...
jmeter+ant 持续集成build.xml文件,直接使用ant命令执行jmeter脚本文件,得到图形测试报告
jar包放在jmeter-lib-ext目录下,打开jmeter在函数助手中可以看到。CarId.jar为车牌号生成,需要输入(省会简称(京津冀),市级代码(ABCD));
Fiddler导出jmeter脚本V4.4.0.1:学习jmeter之fiddler
将Swagger.json中的接口信息转换为JMeter脚本
我们知道jmeter的脚本来源有以下几种, badboy录制、jmeter自带的录制功能、手动书写(使用fiddler/wireshark来抓包,然后构造协议写脚本)、fiddler抓包之后直接导出jmeter脚本。今天主要是来分享下fiddler导出...
18:命令行压测及生成报告 19:Jmeter之分布式压测 20:jmeter扩展插件 21:自己动手开发jmeter插件 22:FTP协议实战 23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC...
JMeter导入jmx运行脚本时出现这样的错误jmeter.save.SaveService: Conversion error com.thoughtworks.xstream.converters.ConversionException:2016/12/20 13:51:55 ERROR - jmeter.save.SaveService: Conversion ...
BadBoy脚本录制+JMeter测试实例(附聚合报告详解)
下面分享下fiddler导出jmeter脚本,通过fiddler抓取的请求,导出为jmx格式,极大提升脚本编写效率。 fiddler导出jmeter脚本步骤: 总共需要五步 1、下载扩展脚本 2、将下载后的文件剪切到 fiddler 安装目录下 3、...
json-lib-2.4-jdk15.jar,jmeter-results-detail-report_21.xsl,jmeter-results-report_21.xsl