说明:详情参考:https://jmeter.apache.org/usermanual/generating-dashboard.html

JMeter3.0以后引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块,但是请大家注意一个问题JMeter3.0直接生成报告会出现中文乱码,建议大家使用最新的版本,我这里使用的是5.0。

环境变量设置:

jdk 环境变量配置:

JAVA_HOME = C:\ProgramFiles (x86)\Java\jdk1.8.0_152
CLASSPATH=  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
PATH= %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin ;

ant 环境变量:

ANT_HOME = 安装路径 ;
path = ;%ANT_HOME%\bin
CLASSPATH =;%ANT_HOME%\lib

jmeter 环境变量:

JMETER_HOME=安装路径 ;
path=;%JMETER_HOME%\bin
CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;

jmeter  Dashboard Report-LMLPHP

一、如果没有.jtl文件,运行如下命令:

 jmeter -n -t *.jmx -l result.jtl -e -o /ResultReport 

我们来看一下这条命令的参数:    -n :以非GUI形式运行Jmeter    -t :source.jmx 脚本路径    -l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在    -e :在脚本运行结束后生成html报告    -o :用于存放html报告的目录 

jmeter  Dashboard Report-LMLPHP

二、如果已经存在结果文件(.jtl),可运行如下命令生成报告

 jmeter -g beanShellResult.jtl -o htmlReport

参数:

  • -g : result.jtl 已经存在的.jtl文件的路径。
  • -o :用于存放html报告的目录

jmeter  Dashboard Report-LMLPHP

说明:执行成功后没有任何提示 ;

三. 相关报告

jmeter  Dashboard Report-LMLPHP

build.xml

 <?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<property environment="env"/>
<!-- <tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp> -->
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="C:\file\jmeter-3.2" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="\report\html" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${env.BUILD_TIMESTAMP}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${env.BUILD_TIMESTAMP}.html" /> <target name="run">
<antcall target="test" />
<antcall target="report" />
</target> <target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target> <path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path> <target name="report">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
05-11 14:00