一、环境准备:

  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. CentOS 6.6 nginx PHP 配置

    /************************************************************************* * CentOS 6.6 nginx PHP 配置 ...

  2. PHP header() 函数详细说明(301、404等错误设置)

    原文来自:http://www.veryhuo.com/a/view/41466.html 如果您刚刚开始学习PHP,可能有许多函数需要研究,今天我们就来学习一下PHP Header()的使用方法,更 ...

  3. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  4. Java 简介

    前言 本文大致介绍 Java 语言 什么是 Java 语言? Java 不仅仅是一门语言,Java 是一个完整的平台,有一个庞大的库,其中包含很多可重用的代码和一个提供诸如安全性,跨操作系统的可移植性 ...

  5. 转 SQL Server中关于的checkpoint使用说明

    在SQL Server中有一个非常重要的命令就是CheckPoint,它主要作用是把缓存中的数据写入mdf文件中. 其实在我们进行insert, update, delete时,数据并没有直接写入数据 ...

  6. textarea元素在加上runat="server"后运行报错解决

    当出现这个报错的时候,在后台引用相应的命名空间,为 using System.Web.UI; using System.Web.UI.HtmlControls;using System.Web.UI. ...

  7. C#使用指针的2个主要原因

    一下内容来自于书籍:<C#高级编程(第六版)> C#使用指针的2个主要原因:

  8. CentOS6.3 Hostname设定修改

    今天装了个CentOS6.3恩,基本上是参照百度文库上面的文章来安装的 http://wenku.baidu.com/link?url=K0tqotryKLFHhJGicx1nC-hsgfWhL3OI ...

  9. android默认浏览器response下载PDF文件

    下载出来的文件不是PDF,而是xxx.htm文件,原因是response的header配置有问题. android默认浏览器的情况下,header的配置应该写成.(java 为例) response. ...

  10. JS初学之-选项卡(图片切换类)

    初学选项卡,主要问题卡在了索引值上面,花了较长的时间学习. 索引值其实很好理解,就是为每一个元素用JS的方法添加一个属性,即自定义属性. 在for循环里的函数里用i,会直接弹出这个数组的length, ...