[转载]Jmeter那点事·ForEach和If控制器
如果我们要实现一个循环,如果城市是北京,则返回首都;否则,返回城市。
一、新建用户自定义变量
添加-配置元件-用户自定义变量,
定义变量注意命名格式:变量名 加 下划线 加 数字(从1开始计数)
之所以这样命名是为了满足以后ForEach控制器提取数据
注:${__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中
三、添加 if 控制器
1.添加-逻辑控制器-如果(if)控制器
2.分别填入条件判断语句,注意如果是字符串一点要在参数前加引号
a."${foreach_city}"=="beijing"
b."${foreach_city}"!="beijing"
四、添加BSFSampler
用于测试输出
最后我们用javascript语言对数据进行预处理和输出
var java_city = '${foreach_city}'+' is our capital';
java.lang.System.out.println(java_city);
最后我们的结构目录如下
输出内容如下