APNSA

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

首先,要确保测试服务器上有java,ant,jmter

安装此处就不阐述了, 下面现在说一下通过ant生成jmter测试结果报告;

1.首先需要将jmter目录下\extras目录中的ant-jmeter-1.1.1.jar 拷贝到ant 目录下\lib文件夹中

2.然后进入jmter目录下\extras目录中, 执行ant命令, 测试下看是否能够生成test.jtl和test.html

3.ant是通过build.xml来生成测试结果报告的,而build.xml中配置的都是一些脚本信息,如测试脚本路径,测试报告生成路径

   备注:Xml文件要转化为html文件,需要编写xsl文件,实际上,jmeter已经自带了xsl文件,如果你不想自己定义格式的话,可以直接使用自带的格式,这样可以省不少事情。这些文件的位置位于jmeter的extras文件夹下,只需要简单修改一些文件路径配置就可以正常使用。

4.build.xml代码配置如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project name="ant-jmeter-test" default="run" basedir=".">
 3     <tstamp>
 4         <format property="time" pattern="yyyyMMddhhmm" />
 5     </tstamp>
 6     <!-- 需要改成自己本地的 Jmeter 目录-->
 7     <property name="jmeter.home" value="C:\soft\apache-jmeter-2.11" />
 8     <!-- jmeter生成jtl格式的结果报告的路径-->
 9     <property name="jmeter.result.jtl.dir" value="C:\soft\jmter\resultLog\jtl" />
10     <!-- jmeter生成html格式的结果报告的路径-->
11     <property name="jmeter.result.html.dir" value="C:\soft\jmter\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="run">
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="C:\soft\testpath" includes="*.jmx" />
25             <property name="jmeter.save.saveservice.output_format" value="xml"/>
26         </jmeter>
27     </target>
28     <path id="xslt.classpath">
29         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
30         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
31     </path>
32     
33     
34     <target name="report">
35         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
36         <xslt 
37               classpathref="xslt.classpath"
38               force="true"
39               in="${jmeter.result.jtlName}"
40               out="${jmeter.result.htmlName}"
41               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
42               <param name="dateReport" expression="${report.datestamp}"/>
43        </xslt>         
44         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
45         <copy todir="${jmeter.result.html.dir}">
46             <fileset dir="${jmeter.home}/extras">
47                 <include name="collapse.png" />
48                 <include name="expand.png" />
49             </fileset>
50         </copy>
51     </target>
52 </project>
View Code
复制代码

 

5.运行脚本:
cmd进入脚本目录,然后执行ant build.xml,生成测试结果报告,
测试结果报告输出目录:
C:\soft\jmter\resultLog\html:
测试结果报告如下:
 
 
 
 
其中需要主要关注的就是build.xml中的一些配置信息,如测试报告的路径, 以及转换过程中需要用到的文件路径。
遇到的问题:
如果测试报告中生成的时间为N/A, 参考以下url:
 
参考:http://www.cnblogs.com/puresoul/p/4808416.html
参考:http://www.cnblogs.com/puresoul/p/5053035.html
posted on   APNSA  阅读(683)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示