前言:在了解jmeter之前,需要了解的最重要的一件事就是在jmeter中所有使用的符号都需要为英文符号 !并且所有参数在填写的时候都要注意前后是否有空格!
一、jmeter脚本的基本元件
功能 | 用途 |
---|---|
线程组 | 模拟用户,确定模拟多少人,每人做多少次 |
线程数 | 模拟人数 |
多线程 | 多个人同时操作 |
循环数 | 模拟1个重复几次 |
HTTP请求默认值 | 设置请求报文的默认值,ip、端口、协议 |
http请求 | 生成和发送http请求报文,ip、端口、协议、方法、路径、参数 |
监听器>查看结果树 | 负责查看请求报文、响应报文 |
断言>响应断言 | 1.设置预期结果,2.跟实际结果对比 |
-
组成一个最基本的jmeter脚本所需的4个基本元件
-
线程组
添加一个线程组 -
http请求
在线程组里面添加一個http请求 -
响应断言
在http请求中添加一个响应断言 -
查看结果树
最后在线程组里面添加一个查看结果树
-
- 以上4个基本元件就组成了一个最简单可执行的jmeter脚本,可以手动进行大部分的接口测试了
二、http请求默认值
http请求设置参数-
在测试计划下添加一个http请求默认值用于为其他HTTP请求设置默认值,为了偷懒,这是很有必要的 ヾ(◍°∇°◍)ノ゙,在这个测试计划下的所有http请求都可以用这个默认参数,也可以自行填写参数
三、jmeter的核心
jmeter的核心就是变量!变量储存在变量池当中;
在jmeter中,生成变量现有以下几种方法:
-
函数助手
-
用户自定义变量
-
Csv数据文件设置
-
正则表达式提取器
-
计数器
-
JDBC Connection Configuration(jdbc 连接配置)
-
JDBC request
在这里只说明一下函数助手、用户自定义变量、CSV数据文件设置、正则表达式提取器这四种情况- 函数助手需要选择_RandomString功能,然后在Random string length一栏中可以选择变量的长度,在Chars to use for random string generation 一栏中可以填写变量取值的范围,需要自己填写所有取值的来源数据;
- 用户自定义变量,自定义填写变量名与赋予这个变量名自定义的值;
-
如下图所示,图中标出了两种变量用户自定义与函数助手 两种变量的设置方法;
用户自定义与函数助手的设置
-
CSV数据文件设置
这个是比较重要的一个变量,用于调用外部CSV文件进行参数化,读取CSV文件中的数据,依次的读取出来,存到对应的变量中,并给后续的元件使用 ,具体操作如下图:
CSV数据文件的配置
-
-
注意变量名需要用,号分隔开
循环次数的设置
还需要进行循环次数设置,以此进行多次循环
- 正则表达式提取器
正则表达式提取器的作用简单来说就是提取上个接口响应中的数据,来给其他元件使用
具体操作如下图所示
- 正则表达式提取器
四、使用变量
刚才讲述了如何在jmeter中生成变量,接下来简单描述一下如何在jmeter中使用变量
- 直接使用:用${变量值}来直接取用变量。
- 使用vars.get("变量名");方法来取用变量。
- 使用vars.put("变量名","变量值");方法来改变这个变量值;
五、如果(if)控制器的使用
-
在如果控制器中填写一个if语句<font size=4>(注1)</font>进行判断:如果满足if控制器里的条件,就执行if控制器内部的元件,如果不满足if控制器里的条件,则跳过这个if控制器及以下元件;
网友评论