【Jmeter】生成html格式接口自动化测试报告
jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。
笔者刚做了这方面的尝试,总结出来分享给大家。
这里需要用到ant来执行测试用例并生成HTML格式测试报告。
一、ant下载安装
1.1、下载地址:
http://ant.apache.org/bindownload.cgi
1.2、版本对应关系
1.10.2 .zip archive 对应jdk8
1.9.10 .zip archive 对应jdk7
1.3、下载以后直接解压压缩包,并配置环境变量
ANT_HOME C:\mySoftware\ant1.9 ----为ant的解压目录
JAVA_HOME C:\mySoftware\jdk\1.7.0_64 ----为jdk的安装目录
path %ANT_HOME%/bin
1.4、检查ant是否安装成功
在cmd窗口执行:ant -v ,如果执行结果如下,就说明安装成功

二、配置ant 和 jmeter
2.1、将jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中
2.2、配置编译文件build.xml文件;在任意目录下创建case执行目录,以及报告的生成目录,我这边依据个人习惯,在jmeter/bin目录下创建执行目录:case_run,并在此目录下创建执行报告存放目录:report,见下图;
在执行目录下创建编译文件:build.xml

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,并将要执行的文件放到执行目录下

总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。
更多推荐



所有评论(0)