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

时间:2022-11-08 23:00:54

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


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

 

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

 

命令行详解:

以下操作是在windows上演示的,windows和linux上唯一的区别在于,windows的执行入口为jmeter.batlinux上执行入口为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工具Day1基础知识之使用命令行生成html报告

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

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

 

jmeter命令行生成报告】

报告生成命令如下:

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

执行过程如下:

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

执行后生成的报告如下:

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

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

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

 

【命令行使用特别说明

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

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

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

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


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

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

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

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

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

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

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

 

总结:IT是一门实践性很强的学科,看完了文章,一定要多动手练练,否则看似很简单的内容,当你真正去实践的时候遇到各种坑,只要实践的过程中,理论结合实践,让自己的工作效率越来越高,解决问题的能力越来越强,经验也越来越丰富。


备注:只讲干货,将知识的本质和原理辅以例子,让你学起来知其然并且知其所以然,让你一次的学习解决一类知识点!让我们一起学习并快乐着。如果觉得好,请动动手指转发吧,做一个知识的传播者,share knowledge with the world