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

这个时候,自然而然地想到了万能的ant,希望它能有相应的jmeter task。

哎,哎,查了一下,还真有,爽歪歪啊。

下面简单说明一下,如果使用:

① 首先,为了能够在ant中使用jmeter task,必须将“ant-jmeter-1.1.1.jar”这个jar包放到ant的classpath中去。这个jar包位置 jmeter的安装目录下的 extras 目录中。

PS:可直接将这个jar拷贝至ant安装目录下的lib目录中去就可以了。

② 编写脚本

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

③ 生成的结果报告如下图

④ 下面说一个,我在使用过程中遇到的一个问题: 就是在执行 最后生成报告的 task 时,一直报下面这个错:

TransformerException,  Content is not allowed in prolog.

后来在ant-jmeter官网上查到了原因:

  1. 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的一个配置

  1. jmeter.save.saveservice.output_format=xml

然后就可以正常生成报告了啊

附: ant-jmeter官网:  http://www.programmerplanet.org/projects/jmeter-ant-task/

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

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

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

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

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

  3. ant批量执行Jmeter脚本

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

  4. 【jmeter】ANT批量执行Jmeter脚本

    一.环境准备: 1.Jdk1.6或以上:命令行输入:java -version,出现如下提示说明安装成功 2.ANT下载:http://ant.apache.org/bindownload.cgi 命 ...

  5. Ant 批量执行jmeter 脚本

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

  6. Ant批量处理jmeter脚本

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

  7. Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)

    Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...

  8. 配置Ant执行Jmeter脚本

    1.将 jmeter下extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中,否则会报错ant-jmeter-1.1.1不存在 2.在jmeter根目录下创建 ...

  9. 配置 Ant 执行 Jmeter 脚本

    1.将  Jmeter 下 extras 目录中 ant-jmeter-1.1.1.jar 包拷贝至 ant 安装目录下的lib目录中,否则会报错 ant-jmeter-1.1.1 不存在 2.创建 ...

随机推荐

  1. NOIP2005-普及组复赛-第一题-陶陶摘苹果

    题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳 ...

  2. display flex 和a标签不行

    父元素display: flex;  display: -webkit-flex; flex-flow: row wrap; -webkit-flex-flow: row wrap; 配合子元素 fl ...

  3. APP测试--测试日报和上线报告

    1 测试日报包含: 1 对当前测试版本质量进行分级 2 对较严重的问题进行举例,提示开发人员优先修改 3 对版本的整体情况进行评估 2 上线报告: 1 对当前版本质量进行分级 2 附上测试报告(功能测 ...

  4. PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件

    作 为PHP入门开发者,常常有这种述求:自己的网站中需要添加一个使用自己的域名作为发件人邮件地址的自动发送邮件的方法,用于诸如给用户发送验证码.通知 信息等.比如:我的某个用户注册模块,需要使用reg ...

  5. 在自学php的路上不知道怎么走!!

    在自学php的路上不知道怎么走!! 真希望有人给我指点一二!!!

  6. C语言-字符串文本串联

    要形成包含多个行的字符串,可以串联两个字符串. 为此,请键入正斜杠,然后按 return 键. 反斜杠导致编译器忽略以下换行符. 例如,字符串     "Long strings can b ...

  7. c语言-扑克牌小魔术

    /************************************* Copyright(C) 2004-2005 vision,math,NJU. File Name: guess_card ...

  8. python常用函数年初大总结

    1.常用内置函数:(不用import就可以直接使用) help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到o ...

  9. eclipse4.3 安装tomcat8

    Go to the WTP downloads page, select the 3.6.0 version , and download the zip (under Traditional Zip ...

  10. java中的静态代码块等执行顺序

    http://www.cnblogs.com/naruto469/p/3608459.html public class Print { 2 3 public Print(String s){ 4 S ...