# jmeter配合Ant生成测试报告html
Table of Contents
1
💬 回复: Jun (2021-10-12)
工具使用版本:
PS D:\apache-jmeter-5.3\extras> java -version
java version “14.0.2” 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
PS D:\apache-jmeter-5.3\extras> ant -version
Apache Ant(TM) version 1.10.11 compiled on July 10 2021
Jmeter5.3
1.官网下载编译好的工具JDK和ANT (https://ant.apache.org/),并配置环境变量
2.配置jmeter.properties和user.properties,修改jmeter.save.saveservice.output_format=xml(具体配置楼下贴出)
3.新建个build_test.xml(具体配置楼下贴出)
4.执行命令ant -buildfile build_test.xml即可输出报告
PS:ws请求的详细信息,在页面中不会显示(等空了修改好配置再发上来)
💬 回复: Jun (2021-10-12)
jmeter.properties
# legitimate values: xml, csv, db. Only xml and csv are currently supported.jmeter.save.saveservice.output_format=xml
# The below properties are true when field should be saved; false otherwise## assertion_results_failure_message only affects CSV output#jmeter.save.saveservice.assertion_results_failure_message=true## legitimate values: none, first, all#jmeter.save.saveservice.assertion_results=none#jmeter.save.saveservice.data_type=truejmeter.save.saveservice.label=truejmeter.save.saveservice.response_code=true# response_data is not currently supported for CSV outputjmeter.save.saveservice.response_data=true# Save ResponseData for failed samplesjmeter.save.saveservice.response_data.on_error=truejmeter.save.saveservice.response_message=truejmeter.save.saveservice.successful=truejmeter.save.saveservice.thread_name=truejmeter.save.saveservice.time=truejmeter.save.saveservice.subresults=truejmeter.save.saveservice.assertions=truejmeter.save.saveservice.latency=true# Only available with HttpClient4jmeter.save.saveservice.connect_time=truejmeter.save.saveservice.samplerData=truejmeter.save.saveservice.responseHeaders=truejmeter.save.saveservice.requestHeaders=truejmeter.save.saveservice.encoding=truejmeter.save.saveservice.bytes=true# Only available with HttpClient4jmeter.save.saveservice.sent_bytes=truejmeter.save.saveservice.url=truejmeter.save.saveservice.filename=truejmeter.save.saveservice.hostname=truejmeter.save.saveservice.thread_counts=truejmeter.save.saveservice.sample_count=truejmeter.save.saveservice.idle_time=trueuser.properties
jmeter.save.saveservice.output_format=xmlmeter.save.saveservice.response_data=truejmeter.save.saveservice.samplerData=truejmeter.save.saveservice.requestHeaders=truejmeter.save.saveservice.url=truejmeter.save.saveservice.responseHeaders=true💬 回复: Jun (2021-10-12)
build_test.xml
<?xml version="1.0" encoding="utf-8"?>
<project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm"/> </tstamp> <property name="basedirectory" value="D:\jmeter_case\html\test_report" /> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\apache-jmeter-5.3" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="${basedirectory}"/> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="${basedirectory}"/> <!-- Name of test (without .jmx) --> <property name="test" value="Test3131"/> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport2121"/> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl"/> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html"/> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <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="${basedirectory}" includes="testreport.jmx" /> </jmeter> </target> <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-shanhe-me.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>💬 回复: Jun (2021-10-12)
https://www.cnblogs.com/hanxiaomin/p/6731810.html
https://blog.csdn.net/om934257/article/details/81183180
https://www.cnblogs.com/Akubi/p/5937994.html
https://blog.csdn.net/om934257/article/details/81183180
https://www.cnblogs.com/puresoul/p/5049433.html
💬 回复: Jun (2021-10-13)
Jun
修改了user.properties后,jmeter原本的生成报告命令(-o)可能会报错