1.jdk安装

2.jmter安装

3.ant安装

下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似

ant环境变量配置

  • 新建系统变量:ANT_HOME,变量值为Ant的本地安装路径,如:ANT_HOME=D:\software\apache-ant-1.10.6
  • Path=%ANT_HOME%\bin
  • CLASSPATH=%ANT_HOME%\lib
  • 打开命令行,输入ant -v命令,或者ant -version命令,打印ant版本号表示配置成功

4.使用ant构建运行Jmeter,生成jtl、html格式报告

  • 修改jmeter.properties文件,jmeter.save.saveservice.output_format=xml,去掉前面的注释符
  • 拷贝apache-jmeter-3.3\extras\ant-jmeter-1.1.1.jar到apache-ant-1.10.6\lib目录下
  • cmd命令进入apache-jmeter-3.3\extras目录,运行"ant.bat -file build.xml -Dtest=Test" ,查看\apache-jmeter-3.3\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功
  • 打开html格式文件,查看jmx脚本的测试报告,模板为jmter原生模板,下面自定义模板

5.修改build.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- build.xml编码格式为utf-8格式-->
  3. <project name="ant-jmeter-test" default="run" basedir=".">
  4. <tstamp>
  5. <!-- 设置日期时间格式-->
  6. <format property="datetime" pattern="yyyyMMddhhmm" />
  7. </tstamp>
  8. <!-- 引用命令"ant.bat -file build.xml -Dtest=Test"中的test属性名称,如:${test}即属性值为Test,优先引用 -->
  9. <!-- 本地存放report的路径,即html格式和jtl格式的结果报告-->
  10. <property name="reportdir" value="F:\data\jmeter\report" />
  11. <!-- jmeter中script路径 -->
  12. <property name="scriptdir" value="F:\data\jmeter\scripts" />
  13. <!-- 本地 jmeter 目录-->
  14. <property name="jmeter.home" value="C:\software\apache-jmeter-4.0" />
  15. <!-- 报告标题-->
  16. <property name="report.title" value="接口测试"/>
  17. <!--如果名称name为命令ant.bat -file build.xml -Dtest=Test中的test属性名称,则优先引用test属性值即Test,不会再引用value值-->
  18. <property name="test" value="ReportName"/>
  19. <!-- 生成报告名称引用当前设置的值-->
  20. <property name="ReportName" value="TestReport" />
  21. <!-- 报告名称加入当前时间${datetime},如:${reportdir}/${ReportName}${datetime}.html-->
  22. <property name="jmeter.result.jtlName" value="${reportdir}/${ReportName}.jtl" />
  23. <property name="jmeter.result.htmlName" value="${reportdir}/${ReportName}.html" />
  24. <!-- 报告的输出格式"xml"-->
  25. <property name="jmeter.save.saveservice.output_format" value="xml"/>
  26. <!-- 引用jar路径-->
  27. <path id="xslt.classpath">
  28. <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
  29. <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
  30. </path>
  31. <!-- 运行了两个标签中的内容-->
  32. <target name="run">
  33. <!--测试脚本标签对应下面的jMeter脚本-->
  34. <antcall target="test" />
  35. <!--测试脚本标签对应下面的jMeter脚本后产生测试报告的-->
  36. <antcall target="report" />
  37. </target>
  38. <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="test" /> target值对应-->
  39. <target name="test">
  40. <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
  41. <!-- 命令运行jmeter后,会生成jtl文件,html文件通过获取jtl文件内容展示报告-->
  42. <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
  43. <!-- 声明要运行的脚本,可以是一个脚本或者全部脚本,"*.jmx"指包含此目录下的所有jmeter脚本-->
  44. <testplans dir="${scriptdir}" includes="${test}.jmx" />
  45. </jmeter>
  46. </target>
  47. <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="report" /> target值对应-->
  48. <target name="report">
  49. <tstamp>
  50. <!-- 设置测试报告的日期时间格式,大写HH-24小时,小写hh-12小时-->
  51. <format property="report.datetime" pattern="yyyy/MM/dd HH:mm" />
  52. </tstamp>
  53. <!-- 将jtl格式转换成html格式报告,及导入样式模板style-->
  54. <xslt classpathref="xslt.classpath"
  55. force="true"
  56. in="${jmeter.result.jtlName}"
  57. out="${jmeter.result.htmlName}"
  58. style="${reportdir}/jmeter.results.shanhe.me.xsl">
  59. <param name="titleReport" expression="${report.title}"/>
  60. <!-- param参数是引用style文件中的样式参数-->
  61. <param name="dateReport" expression="${report.datetime}"/>
  62. </xslt>
  63. <copy todir="${reportdir}">
  64. <fileset dir="${jmeter.home}/extras">
  65. <include name="collapse.png" />
  66. <include name="expand.png" />
  67. </fileset>
  68. </copy>
  69. </target>
  70. </project>

6.配置测试报告样式

下载合适的style样式模板

build.xml对应style文件修改

修改jmeter.properties

7.自定义测试报告

在本地创建一个存放report和script的目录:如:F:\data\jmeter\report,F:\data\jmeter\script

把build.xml文件和样式模板文件style都放入该目录下

cmd命令进入report目录后,执行ant.bat -file build.xml -Dtest=脚本文件名(不需要后缀),report目录自动生成jtl和html文件,ant -h查看命令的使用

jmeter+ant生成xml报告的更多相关文章

  1. Jmeter+Ant生成结果报告时,MinTime、MaxTime显示NaN的问题

    将apache-jmeter-2.13\lib中的serializer-2.7.2.jar.xalan-2.7.2.jar复制到apache-ant-1.9.6\lib中即可: 复制前生成:

  2. jmeter+ant+jenkins+mac 报告优化(三) 使用命令行执行jmeter方式生成多维度的图形化HTML报告

    1.在构建中填写如下命令: 2.start.sh文件的内容 cd /Applications/apache-jmeter-3.0/bin/ CURTIME=`date +%Y%m%d%H%M` ./j ...

  3. jmeter+ant+jenkins+mac报告优化

    一.在上篇博客中生成的报告有两个问题: 1.date not defined 2.Min Time和Max Time显示成了NaN 二.Jmeter+Ant报告生成原理: 在解决问题之前,让我们先弄清 ...

  4. jmeter+ant+jenkins+mac报告优化(一):解决Min Time和Max Time显示NaN

    一.在上篇博客中生成的报告有两个问题: 1.date not defined 2.Min Time和Max Time显示成了NaN 二.Jmeter+Ant报告生成原理: 1.在Jmeter的extr ...

  5. Jenkins+Jmeter+Ant   生成测试报告

    <?xml version="1.0" encoding="UTF-8"?> <project name="wms_test&quo ...

  6. jmeter自动生成测绘报告并发送邮件

    步骤: 1.安装ant,添加到环境变量(windows是将bin目录添加到path.cmd命令输入 ant -v 查看版本号) (mac:brew install ant ant –version) ...

  7. Jmeter Ant Task如果报告中有错误,在邮件内容里面直接显示出来 系列2

    由于部门有多个项目,将自动化测试框架运用于多个项目时,希望针对每个项目修改的东西越少越好,为此,做如下修改: D:\apache-jmeter-2.7\extras\jmeter-results-de ...

  8. DotNetCore跨平台~xUnit生成xml报告

    在CI/CD流行至极的今天,你的项目没有自动化测试绝对是不可以接受的,在进行自动化部署和持续集成时,我们的dotnet core项目也是可以实现自动化的,之前说过gitlab,jenkins对持续集成 ...

  9. checkstyle+ant生成checkstyle报告

    <?xml version="1.0" encoding="UTF-8" ?> <project name="tibim" ...

随机推荐

  1. 什么是icmp协议?

    英文原义:Internet Control Message Protocol 中文释义:(RFC-792)Internet控制消息协议 定义:      ICMP协议是一种面向无连接的协议,用于传输出 ...

  2. java - 进程和线程的区别及联系

    1. 进程 (1)进程主要有两个特征: a. 进程是一个实体,占有一定的地址空间.每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region).数据区域(data region) ...

  3. 15. Java异常处理

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  4. 深入理解HashMap(jdk7)

    HashMap的结构图示 ​ jdk1.7的HashMap采用数组+单链表实现,尽管定义了hash函数来避免冲突,但因为数组长度有限,还是会出现两个不同的Key经过计算后在数组中的位置一样,1.7版本 ...

  5. 前端笔记之React(五)Redux深入浅出

    一.Redux整体感知 Redux是JavaScript状态管理容器,提供了可被预测状态的状态管理容器.来自于Flux思想,Facebook基于Flux思想,在2015年推出Redux库. 中文网站: ...

  6. hdoj 4715 Difference Between Primes 素数筛选+二分查找

    #include <string.h> #include <stdio.h> const int maxn = 1000006; bool vis[1000006]; int ...

  7. Placement_pools on Rados-GW

    The purpose of this test is to map a RadosGw Bucket to a specific Ceph pool. For exemple, if using a ...

  8. 跟着大彬读源码 - Redis 9 - 对象编码之 三种list

    目录 1 ziplist 2 skiplist 3 quicklist 总结 Redis 底层使用了 ziplist.skiplist 和 quicklist 三种 list 结构来实现相关对象.顾名 ...

  9. loadrunner中的ie浏览器无法使用

    我的loadrunner是12.55版本的,windows10系统 在我们学习loadrunner的过程中,会出现下面一个问题: 在录制脚本时,loadrunner中的ie浏览器无法使用处于飘红状态. ...

  10. Vue系列:Slot 插槽的使用范例

    插槽对于自定义的组件开发来说,是十分强大的功能.这篇主要做个简单梳理 插槽可以分3种: 1.简单插槽 2.具名插槽 3.作用域插槽