JMeter工具基础知识篇-使用命令行生成html报告

  背景说明: JMeter执行方式有2种,一种是GUI模式,一种是NO-GUI模式。GUI模式就是界面模式,NO-GUI模式就是命令行模式。界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采用命令行模式,因为采用命令行模式可以和持续集成或者其它框架进行对接,做成自动化回归测试平台。我们可以拿jmeter界面当做学习工具或者当做脚本开发和调试工具,如果采用界面模式做正式执行,那么这样的过程一定不是自动化的过程,是半手工半自动化的过程,这样我们就成为不了一个真正的接口自动化测试人员。命令行执行模式,具有更加灵活和强大的功能,能完成更多的高级用法。在真正的项目执行过程中,无论是接口自动化测试,还是接口性能测试,我个人采用的全都是命令行执行模式。

 

今天要讲的是如何将一个用界面编写好的脚本,使用命令行去执行,然后再使用命令行将生成的执行日志文件转化为html报告。这些功能,都是JMeter3.0及更高版本自带的功能,使用起来特别方便,而且报告也非常直观,图形化报表也很美观。

 

个人建议:我们在学习工具的时候,从简单入手、从界面入手没有错误,但是学完了简单的用法,依然需要向更高级的功能拓展,否则达不到真正理解和精通一款工具的目的。是否会灵活熟练使用命令行模式去执行jmeter任务,是用来判断你熟悉jmeter的考核点之一,也是用来判断你使用jmeter所处的阶段:个人学习式、小作坊式、正规项目级模式。

 

命令行详解:

以下操作是在windows上演示的,windows和linux上唯一的区别在于,windows的执行入口为jmeter.bat,linux上的执行入口为jmeter.sh,命令行本身的属性和参数都是一致的,并没有其它任何差异,因为jmeter本身是一个100%纯java编写的程序,是跨平台的。

 

下面是我保存脚本的目录结构,大家可以参考我前面编写的《JMeter工具基础知识篇-工程目录结构及命名规范》,如何创建规范点的工程目录名称。

 

接下来,我使用命令行,分两步将报告生成出来。第一步是使用命令行执行脚本并生成日志文件,第二步是使用命令行将生成的日志文件转化为html报告。

 

【jmeter命令行执行】

执行命令如下:

jmeter -n -t D:\SvnProject\test01\firstJmeterProject\script\baidu_test.jmx -l D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.jtl -j D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.log

执行过程如下:

 

执行后生成的日志文件如下:

 

 

【jmeter命令行生成报告】

报告生成命令如下:

jmeter -g D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.jtl -o D:\SvnProject\test01\firstJmeterProject\result\html\

执行过程如下:

 

 

执行后生成的报告如下:

 

打开index.html就可以查看报告了

 

 

【命令行使用特别说明

1、 命令行执行时生成的日志文件的格式一定要设置为csv格式,请参考jmeter.properties文件中的属性:jmeter.save.saveservice.output_format=csv

 

如果执行的日志不是csv格式,如果被设置为了xml格式,转化报告的时候,会报以下错误:

 

 

2、 报告生成命令行设置的输出路径是一个空目录

我碰到很多人在这儿掉坑里了,这句话包含两层意思:

1)、这个路径是一个目录的全路径,注意,是目录的路径,不是文件路径;

2)、这个目录是个空目录,也就是说不包括任何文件和子目录。如果此目录不为空,生成的时候会报以下错误:

 

查看日志文件可以清楚的知道错误提示信息:

 

posted @ 2018-01-26 15:34  华山纯爷们  阅读(219)  评论(0编辑  收藏  举报