jmeter生成html格式接口自动化测试报告
jmeter生成html格式接口自动化测试报告
jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。
笔者刚做了这方面的尝试,总结出来分享给大家。
这里需要用到ant来执行测试用例并生成HTML格式测试报告。
一、ant下载安装
1.1、下载地址:
http://ant.apache.org/bindownload.cgi
1.2、版本对应关系
1.10.2 .zip
archive 对应jdk8
.zip
archive 对应jdk7![](https://img2018.cnblogs.com/blog/1665831/201904/1665831-20190422152833257-923414540.png)
![](https://img2018.cnblogs.com/blog/1665831/201904/1665831-20190422154719461-2097216220.png)
2.3、编辑build.xml内容
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="E:\tools\apache-jmeter-4.0" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="E:\tools\apache-jmeter-4.0\bin\commonservice\report" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="E:\tools\apache-jmeter-4.0\bin\commonservice\report" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.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="E:\case-report" includes="接口自动化--2.0-工作台-wxx.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.shanhe.me.xsl" /> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
2.4、模板文件:jmeter.results.shanhe.me.xsl的下载链接
链接:https://pan.baidu.com/s/1lTdS7tccNWyy1D1kmHgEng
提取码:d6kx
下载以后,解压到jmeter/extras目录下,并配置build.xml文件
2.5、配置jmeter.properties文件,位置在jmeter/bin目录,将配置项jmeter.save.saveservice.output_format前面的注释去掉,值改为 xml,见下图
2.6、将要执行的脚本以及脚本所需的csv文件等,放到build.xml文件同一目录下
2.7、在命令行进入执行目录,并执行命令: ant run
2.8、 执行以后的模板内容:
2.9、如果觉得报告输出内容太少了,可以配置jmeter.properties文件,位置在jmeter/bin目录,将jmeter.save.saveservice开头的配置项中,需要打印的配置项改成true,并去掉前面的“#”
2.10、如果一次要执行多个文件,则修改build.xml,并将要执行的文件放到执行目录下