一、环境准备:

  1、Jdk1.6或以上:命令行输入:java -version,出现如下提示说明安装成功

  

  2、ANT下载:http://ant.apache.org/bindownload.cgi

    命令行输入:ant -v,出现如下提示说明安装成功

  

  3、Jmeter下载:http://jmeter.apache.org/download_jmeter.cgi

  4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中

  5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml

二、Jmeter脚本:

  1、准备jmxl脚本

  2、脚本目录:D:\apache-jmeter-2.13\demo

  

  3、脚本内容:

  测试百度.jmx                    Google1.jmx

    

三、build.xml代码:

 1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <project name="ant-jmeter-test" default="run" basedir=".">
4 <tstamp>
5 <format property="time" pattern="yyyyMMddhhmm" />
6 </tstamp>
7 <!-- 需要改成自己本地的 Jmeter 目录-->
8 <property name="jmeter.home" value="D:\apache-jmeter-2.13" />
9 <!-- jmeter生成jtl格式的结果报告的路径-->
10 <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-2.13\demo\report\jtl" />
11 <!-- jmeter生成html格式的结果报告的路径-->
12 <property name="jmeter.result.html.dir" value="D:\apache-jmeter-2.13\demo\report\html" />
13 <!-- 生成的报告的前缀-->
14 <property name="ReportName" value="TestReport" />
15 <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
16 <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
17
18 <target name="run">
19 <antcall target="test" />
20 <antcall target="report" />
21 </target>
22
23 <target name="test">
24 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
25 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
26 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
27 <testplans dir="D:\apache-jmeter-2.13\demo" includes="*.jmx" />
28
29        <property name="jmeter.save.saveservice.output_format" value="xml"/>
30
31 </jmeter>
32 </target>
33
34 <target name="report">
35 <xslt in="${jmeter.result.jtlName}"
36 out="${jmeter.result.htmlName}"
37 style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
38 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
39 <copy todir="${jmeter.result.html.dir}">
40 <fileset dir="${jmeter.home}/extras">
41 <include name="collapse.png" />
42 <include name="expand.png" />
43 </fileset>
44 </copy>
45 </target>
46 </project>

四、运行脚本:

1、cmd进入脚本目录:D:\apache-jmeter-2.13\demo

2、输入:ant  或 ant run(run为build.xml中的task名),执行结果:

D:\apache-jmeter-2.13\demo>ant
Buildfile: build.xml all: test:
[jmeter] Executing test plan: D:\apache-jmeter-2.13\demo\Google1.jmx ==> D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl
[jmeter] Creating summariser <summary>
[jmeter] Created the tree successfully using D:\apache-jmeter-2.13\demo\Google1.jmx
[jmeter] Starting the test @ Mon Sep 14 23:14:32 CST 2015 (1442243672984)
[jmeter] Waiting for possible shutdown message on port 4445
[jmeter] summary + 1 in 1s = 1.9/s Avg: 248 Min: 248 Max: 248 Err: 1 (100.00%) Active: 1 Started: 1 Finished: 0
[jmeter] summary + 5 in 1s = 7.8/s Avg: 119 Min: 107 Max: 137 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1
[jmeter] summary = 6 in 1.2s = 5.2/s Avg: 140 Min: 107 Max: 248 Err: 1 (16.67%)
[jmeter] Tidying up ... @ Mon Sep 14 23:14:34 CST 2015 (1442243674232)
[jmeter] ... end of run
[jmeter] Executing test plan: D:\apache-jmeter-2.13\demo\测试百度.jmx ==> D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl
[jmeter] Creating summariser <summary>
[jmeter] Created the tree successfully using D:\apache-jmeter-2.13\demo\测试百度.jmx
[jmeter] Starting the test @ Mon Sep 14 23:14:35 CST 2015 (1442243675376)
[jmeter] Waiting for possible shutdown message on port 4445
[jmeter] summary + 1 in 0.5s = 2.1/s Avg: 196 Min: 196 Max: 196 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
[jmeter] summary + 5 in 1s = 8.4/s Avg: 113 Min: 107 Max: 133 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1
[jmeter] summary = 6 in 1.1s = 5.6/s Avg: 126 Min: 107 Max: 196 Err: 0 (0.00%)
[jmeter] Tidying up ... @ Mon Sep 14 23:14:36 CST 2015 (1442243676535)
[jmeter] ... end of run report:
[xslt] Processing D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl to D:\apache-jmeter-2.13\demo\report\html\TestReport201509141114.html
[xslt] Loading stylesheet D:\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
[copy] Copying 2 files to D:\apache-jmeter-2.13\demo\report\html BUILD SUCCESSFUL
Total time: 5 seconds

3、测试报告目录:D:\apache-jmeter-2.13\demo\report\html,其中有一个红色失败的案例是我故意设置失败,以便查看的。

四:最后,说一个我在使用过程中碰到一个问题,上面build.xml文件第29行有一句必须要加上:<property name="jmeter.save.saveservice.output_format" value="xml"/>,否则会报如下的错误:   

report:
[xslt] Processing D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201509210923.jtl to D:\Tools\apache-jmeter-2.13\demo\report\html\TestReport201509210923.html
[xslt] Loading stylesheet D:\Tools\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
[xslt] : Error! 前言中不允许有内容。
[xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
[xslt] Failed to process D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201509210923.jtl

因为不加上这一句,生成的.jtl文件是文本文件不是xml文件,使用xsl去转换.jtl文件时就会报错。

更新补充:

  上面生成的报告有如下两个问题,解决办法参见《测试报告优化》

  1、Date report这里的时间没有正确显示出来

  2、Summary里的字段Min Time和Max Time显示的是NaN,没有显示正确的时间。

【jmeter】ANT批量执行Jmeter脚本的更多相关文章

  1. ant批量执行Jmeter脚本

    JDK,Jmeter默认已经装了 ANT下载:http://ant.apache.org/bindownload.cgi ant环境变量需要配置 ant_home,你解压之后的地址 然后PATH环境变 ...

  2. Ant 批量执行jmeter 脚本

    一.环境准备: 1.Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html 命令行输入:java -v ...

  3. 性能测试培训:批量执行Jmeter脚本之ant调用

    性能测试培训:批量执行Jmeter脚本之ant调用   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的load ...

  4. Ant批量处理jmeter脚本

    Ant是一个可以把代码从某个地方拿来,编译,再拷贝到某个地方去的构建工具.一时冲动学习一下,顺便王婆卖瓜尝试着处理jmeter的脚本,于是,采坑之旅也从此开始.本文省略ant安装步骤和ant脚本说明, ...

  5. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

  6. PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)

    PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...

  7. 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)

    最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢? 这个时候,自然而然地想到了万能的ant ...

  8. Ant 与jemter的结合--批量执行jmeter脚本

    一.Ant 介绍&作用: Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发. 作用:打包,部署,运行Java工程 二.下 ...

  9. 聊聊 Jmeter 如何并发执行 Python 脚本

    1. 前言 大家好,我是安果! 最近有小伙伴后台给我留言,说自己用 Django 写了一个大文件上传的 Api 接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案 本篇文章以文件上传为例,聊 ...

随机推荐

  1. DNS劫持 DNS污染

    编号:1021时间:2016年6月24日17:23:50功能:DNS劫持 DNS污染URL:http://www.itechzero.com/dns-hijacking-dns-pollution-i ...

  2. Node.js简单介绍并实现一个简单的Web MVC框架

    编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...

  3. OVS ARP Responder – Theory and Practice

    Prefix In the GRE tunnels post I’ve explained how overlay networks are used for connectivity and ten ...

  4. 尽可能使用 const

    前言 const 关键字是常量修辞符,如果要告知编译器某个变量在程序中不会发生改变,则可将其声明为 const. 但,对 const 关键字的认识不能仅仅停留在这一层 - 它提供了很多更强大的功能. ...

  5. Linux主机硬盘的主要规划

    系统对于硬盘的需求跟刚刚提到的主机开放的服务有关,那么除了这点之外,还有没有其他的注意事项?当然有,那就是数据的分类与数据安全性的考虑,即当主机系统的硬件出现问题时,你的档案数据能否安全的保存. 前篇 ...

  6. 转载:LBP的初步理解

    转自http://blog.csdn.net/ty101/article/details/8905394 本文的PDF版本,以及涉及到的所有文献和代码可以到下列地址下载: 1.PDF版本以及文献:ht ...

  7. 弹出层是iframe引入的页面,如果用js进行隐藏呢?

    <script> $(document).ready(function(){ $('.bjfh').click(function(){ parent.document.getElement ...

  8. JS初学之-点击元素,当前的显示样式,其他变灰色

    点击按钮或者其他元素,当前的变化,其他的不变(比如选项卡按钮,点击当前的变为黄色,其他的不变色),这样的情况我们有两种思路: 1.全部清空,当前添加 for(var i=0;i<aBtn.len ...

  9. CDH hive的安装

    tar zxvf 解压包 配置环境变量 export HIVE_HOME=/usr/local/soft/hiveexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HO ...

  10. spark新能优化之多次使用RDD的持久化或checkPoint

    如果程序中,对某一个RDD,基于它进行了多次transformation或者action操作.那么就非常有必要对其进行持久化操作,以避免对一个RDD反复进行计算. 此外,如果要保证在RDD的持久化数据 ...