Jmeter那点事·ForEach和If控制器

如果我们要实现一个循环,如果城市是北京,则返回首都;否则,返回城市。 

 
 

一、新建用户自定义变量 

添加-配置元件-用户自定义变量, 

定义变量注意命名格式:变量名 加 下划线 加 数字(从1开始计数) 

之所以这样命名是为了满足以后ForEach控制器提取数据 

Jmeter那点事·ForEach和If控制器

 
 
 

注:${__time(hhmmss-MMdd,)} 是JMeter的自带的函数,用于返回系统当前时间,hhmmss-MMdd表示时间显示的格式,大写HH是24小时制 

 
 

二、添加ForEach控制器 

1.添加-逻辑控制器-ForEach控制器 

2.编辑foreach控制器 

a.变量前缀:就是刚才我们定义用户自定义变量下划线前面的字符串   

b.取值范围:这里表示1≤city<4,表示从数组city游标位置为1开始取值(数据从0开始计数),到游标位置为4结束(但是不包括4),所以会从数组变量的第二位开始,遍历3次,即:beijing,shanghai,shenzhen 

3.输出变量名称:我们将每一次得到的用户自定义变量city存储到参数foreach_city中 

ForEach& 制 器 
名 称 : F 。 「 Ea 崆 制 器 
八 变 單 前 蚋 / 
Startindexforloop(exclusive) O 
End index forloop (inclusive) 5 
出 变 單 名 称 “ 一 蚋 /

 
 

三、添加 if 控制器 

1.添加-逻辑控制器-如果(if)控制器 

2.分别填入条件判断语句,注意如果是字符串一点要在参数前加引号 

a."${foreach_city}"=="beijing" 

Jmeter那点事·ForEach和If控制器

 

b."${foreach_city}"!="beijing" 

 

while 的判断语句 ${__javaScript("${auditSoMessage}"!="审核订单成功!")} 

 

四、添加BSFSampler 

用于测试输出 

BeanShell Sampler 
ET. : 8SFSampler Oj 
C] Reset bsh.lnterpreterbefore each call 
( > String Parameters *a String []bash.args) 
Script (see below for variables that are defined) 
var java_city = is our capital 
log.info(java_city

 

这里的参数,我们用foreach控制器提取出来的参数${foreach_city} 

 

最后我们用javascript语言对数据进行预处理和输出 

var java_city = "${foreach_city}"+" is our capital "; 

log.info(java_city); 

 
 

最后我们的结构目录如下 

Jmeter那点事·ForEach和If控制器

 

输出内容如下 

Jmeter那点事·ForEach和If控制器

 

posted @ 2017-11-28 11:46  春田花花同学会  阅读(298)  评论(0编辑  收藏  举报