1、测试计划

测试计划用来存放各个线程组,也就是测试脚本

jemter 查看结果延时 jmeter延迟创建线程直到需要_测试工具

用户定义的变量:定义整个测试中用户使用的变量,一般定义服务器的IP、端口号等,引用方式为${test},test为用户定义的变量

独立运行每个线程组:默认不勾选,如有多个线程组时,直接并行执行;勾选后,按照顺序执行,也就是一个一个线程组执行

主线程结束后执行tearDown线程组:勾选后先执行主线程,然后执行tearDown线程

函数测试模式:勾选该项后,执行测试时将会保留所有的响应数据和取样数据,并把查看结果数写到一个路径下的文件中

 添加目录或jar包到ClassPath:一般用于添加jar包配合着Beanshell使用,jmeter的lib目录下添加了新的jar包,需要重新启动才会生效

2、线程组

添加一个线程组

jemter 查看结果延时 jmeter延迟创建线程直到需要_jmeter_02

jemter 查看结果延时 jmeter延迟创建线程直到需要_jemter 查看结果延时_03

线程数:指模拟的用户数,也叫并发数

Ramp-Up时间(秒):指多长时间启动线程,1代表1秒内启动所有的线程

循环次数:指线程执行的循环次数

延迟创建线程直到需要:延迟创建线程,直到该线程开始取样时才创建

调度器:线程组会根据调度器设置的限制条件执行

持续时间(秒):指脚本运行的时间,以秒为单位

启动延迟(秒):指脚本延迟启动的时间,以秒为单位

例如:线程数设置为100,Ramp-Up时间设置为2,持续设置时间设置为300,可以理解为,2秒内启动100个线程,平均1秒启动50个线程,总共运行时间持续5分钟。

3、HTTP请求默认值

多个请求发送同一台服务器时可以使用,填写协议、服务器名称或ID、端口号即可

jemter 查看结果延时 jmeter延迟创建线程直到需要_压力测试_04

4、HTTP请求

添加一个HTTP请求

jemter 查看结果延时 jmeter延迟创建线程直到需要_jemter 查看结果延时_05

jemter 查看结果延时 jmeter延迟创建线程直到需要_压力测试_06

协议:向目标服务器发送HTTP请求时的传输协议,可设置为http或https

服务器名称或IP:接收HTTP请求的目标服务器名称或IP地址

路径:URL路径(不包括服务器地址和端口号)

内容编码:请求内容的编码方式,也可通过配置文件jmeter.properties中的sampleresult.default.encoding设置

自动重定向:当发送HTTP请求后响应为301/302,Jmeter会自动重定向到对应的新页面,但不会记录重定向的请求和响应内容,只有GET和HEAD请求才能使用自动重定向

跟随重定向:当发送HTTP请求后响应为301/302会自动跳转到目标页面,初始重定向和进一步响应作为附加样本出现

使用keepAlive:jmeter和目标服务器之间使用Keep-Alive方式进行HTTP通信

对POST使用multipart/from-data:使用 multipart/from-data或application/x-www-form-urlencoded方法发送HTTP POST 请求,默认不选中时表示的Content-Type是application/x-www-form-urlencoded

与浏览器兼容的头:当勾选multipart/from-data时,勾选此项,http请求头中的Content-Type和Content-Transfer-Encoding被忽略,只发送Content-Disposition部分

参数:将抓到的参数放在参数中,或放在消息体数据中

5、HTTP信息头管理器

添加一个HTTP信息头管理器,将请求头放在里面

jemter 查看结果延时 jmeter延迟创建线程直到需要_jmeter_07

6、响应断言

在线程组中添加响应断言 ,选择自己所需要的断言方式

jemter 查看结果延时 jmeter延迟创建线程直到需要_jmeter_08

7、监听器

在线程组中添加察看结果树,在此处可以看到是否运行成功

jemter 查看结果延时 jmeter延迟创建线程直到需要_jemter 查看结果延时_09

jemter 查看结果延时 jmeter延迟创建线程直到需要_HTTP_10

 在线程组中添加汇总报告,在此处可以看出运行脚本的平均值、最小值、最大值、吞吐量等等

jemter 查看结果延时 jmeter延迟创建线程直到需要_压力测试_11

 8、提取token

在后置处理器中选择正则表达式提取器,并添加

jemter 查看结果延时 jmeter延迟创建线程直到需要_jmeter_12

正则表达式:指定提取信息所采用的正则表达式

():括号括起来的部分就是需要提取的信息

 .:匹配任何字符串

+:一次或者多次

?:在找到第一个匹配项后停止

模板:如果只有一个模板,一般填写$1$,也可以有多个模板,如$1$...3$等等

匹配数字:指将第几个匹配结果返回。0代表随机取值,1代表全部取值,通常情况下填0

缺省值:如果参数没有取的值,默认给一个值让他取

9、用户名、密码参数化

在http请求中添加CSV Data Set Config

jemter 查看结果延时 jmeter延迟创建线程直到需要_jemter 查看结果延时_13

jemter 查看结果延时 jmeter延迟创建线程直到需要_jemter 查看结果延时_14

文件名:点击右侧的浏览可以进行选择你所要参数化的文件,这里的文件我目前存放的是以.txt结尾的,这里以用户名及密码为例,文件第一列写用户名,第二列写密码,中间用英文逗号隔开,最后一行需要空出来

文件编码:大部分都是UTF-8

变量名称:这里以用户名及密码为例user,password,两个变量名称之间用英文逗号隔开

注:此处在http请求参数中,值列需要用正则表达式写成${user}、${password},大括号中的变量名称需要与CSV中的变量名称一致

10、BeanShell后置处理程序

如果在http请求中设置的utf-8编码不生效,则可以用下列方式来写,这样运行出来的结果就不会乱码了(prev.setDataEncoding("utf-8");)

jemter 查看结果延时 jmeter延迟创建线程直到需要_压力测试_15