jmeter常用操作(回头补充)
三、定时器
1、定时器(Constant Throughput Timer)

Constant Throughput Timer常数吞吐量定时器可以让JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组,并且计算吞吐量的依据可以是最近一次线程的执行时延。
1、 名称:定时器Constant Throughput Timer的描述性名称,显示在左边节点上,并用于命名事务
2、注释:定时器Constant Throughput Timer注释信息,非必填项
3、Delay before each affected samler
1)Target throughput(in samples per minute):每分钟的天吐量
2) Calculate Throughput based on:有5个选项:
第一: This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量
第二: All active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
第三:All avtive threads(shared):与All active threads的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。
第四: All active threads in current thread group:设置的target Throughput 将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads 选项的效果完全相同。
第五:All active threads in current thread group(shared):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。
本文来自 shuimengzhen 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/shuimengzhen/article/details/57075437?utm_source=copy
五、后置处理器基本用法
1、后置处理器(JSON Extractor):
注:sampler>Debug Sampler可以查看后置处理器提取的内容


通过JSON Extractor获取某字段的返回值

Variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认
JSON Extractor---取JSON多值
如果要获取json响应数据多个值时,设置的Variable names (后续引用变量值的变量名设置)与JSON Path expressions及Default Values的数量一定要一致;

如上定义后,
Variable names设置为position_id;position_id1
JSON Path expressions定义为$.results[0].number;$.results[1].number
Default Values:0;0
变量id1取值将为2,变量id2取值为3;若取不到id1的值会根据Default Values定义默认赋值为0
可以通过添加beanshell打印id1、id2的值验证结果
print("id1:"+vars.get("id1"));
print("id2:"+vars.get("id2"));
取所有的值:

修改json extractor 设置match no =-1 匹配所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4.
2、后置处理器(正则表达式提取器):
截取响应的内容

设置正则表达式:

说明:
(1)引用名称:下一个请求要引用的参数名称,如填写debugInfo,则可用${debugInfo}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给select? start=0。如:$1$表示解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
引用响应内容:

关于正则表达式的举例说明(摘抄部分):
1、提取单个字符串:
假如想匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。一个合适的正则表达式:name = "file" value = "(.+?)">。
():封装了待返回的匹配字符串。
.:匹配任何单个字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
2、提取多个字符串:
假如想匹配Web页面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。一个合适的正则表达式:name = "(.+?)" value = "(.+?)"。这样就会创建2个组,分别用于$1$和$2$
比如:
引用名称:MYREF
模板:$1$$2$
如下变量的值将会被设定:
MYREF: file.namereadme.txt
MYREF_g0: name = "file.name"value = "readme.txt"
MYREF_g1: file.name
MYREF_g2: readme.txt
在需要引用地方可以通过:${MYREF}, ${MYREF_g1进行使用。
原文地址:https://www.cnblogs.com/wuyepiaoxue/p/5661194.html
JSON Extractor
浙公网安备 33010602011771号