话说之前做了一个超级初级的jemeter并发的模拟情况,后来竟然没问住了其他的基本知识, 一怒冲冠为自己这个红颜啊,开始练习一下。
1,基本的安装及建立线程组,可以参考之前的帖子:https://blog.csdn.net/wangyx019/article/details/86489354
2,jmeter的参数化,及jmeter的http请求(暂时只做了http请求的)的参数如果每次发送的请求的参数不同,如何将请求做参数化处理。
1) 如果参数输入的是随机数,可以时候函数助手对话框。菜单栏-->选项-->函数助手对话框。
(1)随机数函数的设置
The minimum value allowed for a range of values:随机数的最小值
The maximum value allowed for a range of values :随机数的最大值
Name of variable in which to store the result (optional): 生成的随机数赋值给的变量,在http请求中使用
点击生成,会生成随机数函数。${__Random(1,200,name)}
The result of the function is : 是生成的随机数的值,本例中生成的随机数是157
(2)随机数函数的使用。
我是用在了body体里,如果想直接使用这个随机数,就直接用${__Random(1,100,vpcname)},如果想买成字符串就加上"",如果想加上前缀就如例子中加上vpcname_前缀。输出的格式会是vpcname_123,从查看结果树上看到的发出的请求如下:
2) 如果参数要求有不同的值,需要从文件中读,选择从csv文件来读取,
(1)在http请求上右键从配置元件->csv数据文件设置。通过可以先创建一个txt文件,注意文件中的各数据之间用,分隔。之后将txt文件保存成.csv格式
填写上文件名,这个很重要
编码格式:utf-8的,这个也很重要
变量名称:每个变量名称对应csv文件中的一列,中间用分号分隔(如果就一列就不用分号了)
其他没有特殊要求默认即可,有特殊要求就再研究。
(2)csv文件中变量的使用
变量vpcname就读取了csv文件中一列的值。
3) jmeter的使用中,第二个http请求的参数要求使用第一个http请求的response中的一个值。有两种方法,
一种是正则表达式提取器:,在第一个http请求处添加正则表达式提取器,设置其他请求使用的变量(这个变量的值取response结果中的值)
(1) vpcidn 是定义的变量
(2) ()中是匹配到的想获取的值
(3) $1$ $1$是取模板中的第一个值, 2是第2个,依次类推。 一般情况下用$1$ 详细的描述可参考:https://www.cnblogs.com/xueli/p/7405258.html?utm_source=itdadao&utm_medium=referral,这个中的描述写得很清楚
vpcidn的使用如下:
2)第二种方法是使用json extractor
1、下载安装 Json Path Extractor插件,
1.1 插件安装——JMeterPlugins-Extras-1.4.0.zip 解压后,下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可
地址:https://www.jianshu.com/p/56a607fc0d8f 或者 https://jmeter-plugins.org/wiki/JSONPathExtractor/
vpcidn:是使用的变量名
$.result.vpcid 是取的值
vpcid-111是默认值
怎么取$.result.vpcid的值,可以用google的JSON-Handle的方法,将JSON.result.vpcid的JSON替换成$.