Jmeter使用手册
本博客是一个关于Jmeter的快速入门手册,告诉你一些常用的组件使用方式,能够满足你基本的Jmeter使用需求
- Jmeter 版本 5.4.1
- 系统环境的JDK版本 8 或者 11是没有问题的
一个简单的使用案例
- 添加一个Thread Group
- 再添加一个Http Request Defaluts
- 再添加一个Http Request
- 再添加一个View Result Tree
- 线程组的结构图
做完以上步骤得到的线程组的结构图如下
- 开始使用(以访问百度为例)
在Http Request Defaults中写入基本信息
Http Request不需要写什么,我在Path里写了一个 /
启动
在View Result Tree中查看响应
在Requset菜单中的RequestBody中可以看到发送出去的请求url
在Response data的菜单中的Response Body中可以看到响应内容
经过上面的一个使用案例,你就可以对Jmeter有一个初步的认识。它能够模仿浏览器对服务应用发起请求,只不过Jmeter比浏览器多了很多的监听器,这些监听器能够帮你对应用的稳定性,抗压能力进行测试。下面就是对一些组件的作用介绍,帮助你去更加灵活的使用Jmeter。组件介绍顺序是对应到Jmeter5.4.1里线程组层(Thread Group)面的add菜单。
Sample
HTTP Request
这个组件是请求的主体
在这个页面中去配置信息,对你的应用发起请求
- Paramters
在Parameters中去带参数,也就是浏览器请求URL中显示出来的参数信息,在浏览器的URL中的显示形式就是以?开始,&连接。 - Body Data
一般是Post请求带过去的,不会显示在请求URL中而是会在请求体中,内容的数据类型通过HTTP Header Manager组件去设置。 - Content encoding
设置内容编码格式
如
在这个组件上还可以添加Regular Expression Extractor组件,用来提取这个请求响应过程中产生的数据
Regular Expression Extractor
什么情况下你会用到这个,当你下面的请求会用到上一个请求响应中的数据的时候。
比如说下面的这个场景,我的登录请求需要从登录的HTML页面中的form表单的action对应的值中来获取,
那么我就需要先访问登录界面,获得响应HTML页面信息,再从HTML页面中采用正则提取登录URL,来发送登录请求。
登录HTML页面信息
登录请求在form表单中,需要提取。
Regular Expression Extractor组件配置
使用方式${Path}
效果
Timer
当你想要线程之前,或者请求之间有一定的时间间隔,那么这个部分的组件就能够帮上忙了。
Think Time
- 添加组件位置如下
点击了添加Think Time以后,Think Time会出现在每一个Request之后。 - 组件结构
- Think Time的配置界面
在这个界面里面定时的就用Pause,这个暂停范围是当前线程,按序暂停,就是说,在当前线程中执行到一个Think Time的Pause,会等这个Think Time执行完 Pause 的等待时间才会再往下执行。暂停的时间单位是毫秒。其他的功能就是对当前线程循环的一些操作。
-
Pause组件界面
这是一个随机暂停一个时间的组件,设置位置在Thread Delay Properties下面的两行里。- 第一个配置参数
最长的等待时间(max) - 第二个配置参数
最少的等待时间(min)
两个配置的单位都是毫秒
这个组件的暂停是在一个Thread Group的Request之间,能够方便的控制Request之间的执行时间间隔。 - 第一个配置参数
Constant Timer
这个组件是一个常量计时器,暂停一个常量时间,添加位置如下。
这个计时器暂停顺序与位置无关,只要放到一个Thread Group当中,每执行一个Request都会暂停常量时间。
这个计时器会有使当前Tread Group有启动时延,即等待常量时间后再执行Request,而不会立即执行Request.
Config Element
CSV Data Set Config
这个组件是从csv文件中提取数据,以供之下的请求使用。
- 变量设置
变量的定义在第五行设置,以逗号隔开。
上面的配置对应到我的csv表样式如下
使用方式
${变量名},实际如下
- tips
注意组件中变量顺序与表格中的从左往右自动依次对应
HTTP Header Manager
这个组件是携带请求的头信息,添加位置如下图
在组件的配置页,去添加需要的请求头信息,比如设置内容数据类型
HTTP Cookie Manager
添加以后就可以保存页面访问中产生的cookies
如果你不需要额外的添加cookie,就按照默认的设置,比如你想使用已经登录过页面中的用户cookie信息来进行用户层面的操作,那么你就需要从网页中获取你的cookie信息添加到Jmeter上。
如何添加,举个例子
- Domain
- Cookie
这是我登录CSDN以后访问CSDN页面时请求中所带的cookie
tips: cookie和domian的信息可以从浏览器中获取
如果我想用Jmeter以我的这个有效cookie来访问csdn,我就需要添加这个cookie到Jmeter,比如添加一个uuid_tt_dd
按照这种方式依次添加完这个cookie中所有的键值对,就可以以我的身份对CSDN进行访问了。
HTTP Request Defaults
这个组件是对请求进行一个统一设置,在其中设置的一些信息,会使得同一个线程组的Http Request组件都拥有这些配置信息。
basic
在basic菜单页面进行基本设置,比如协议,访问IP,端口,请求路径,设置以后,同一个线程组的其他Http Request都会继承这些设置,而不用重复设置。
Listener
监听器这个部分就是我们主要去看的部分,通过这个部分的组件显示出来的数据,来对应用响应信息进行分析。
View Result Tree
这个组件是最基本的监听组件,可以看到请求的详细信息,响应的详细信息。
在这个组件中可以改变内容显示形式在左上角默认是Text
HTML
View Results in Table
这个组件你可以看到一个请求列表,请求的一些统计信息比如响应时间,内容长度,连接时长等等,你还可以选择只看响应成功的或者响应失败的。