的JMeter的ForEach控制器可被用于迭代与相同前缀等变量,如何在阵列上使用ForEach控制器?
myVar_1
myVar_2
myVar_3
但在我的情况下输入变量是一个字符串数组,[ "val1", "val2", "val3" ]
如何遍历一个数组并为每个值发送单独的请求?
的JMeter的ForEach控制器可被用于迭代与相同前缀等变量,如何在阵列上使用ForEach控制器?
myVar_1
myVar_2
myVar_3
但在我的情况下输入变量是一个字符串数组,[ "val1", "val2", "val3" ]
如何遍历一个数组并为每个值发送单独的请求?
你将不能够这样JSON Array喂传递给ForEach控制器,但可以转换转换成可利用的ForEach控制器
将以下代码进入 “脚本” 区域:
def json = new groovy.json.JsonSlurper().parseText(vars.get("yourInputVariable"))
def counter = 1
json.each {
vars.put("myVar_" + counter, it)
counter++
}
与变量持有JSON阵列
yourInputVariable
“正常”的配置,你会做它为myVar_1, myVar_2,...
- 它会正常工作的JSR223采样创建相关变量基于JSON数组的数据。请参阅Parsing and producing JSON - Groovy和Groovy Is the New Black文章的更多信息。
与用于相同前缀变量的方式相同。
对于可变myVar
myVar = ["val1", "val2", "val3"];
//Following variables are automatically created
myVar_1 = "val1";
myVar_2 = "val2";
myVar_3 = "val3";
的ForEach控制器将上myVar_1, myVar_2, myVar_3
使用调试采样用于确保。
jmeter版本:3.1 r1770033
您是否从响应中提取数组? –
是的。我通过在响应中应用JSON路径提取器从响应中提取数组。 – Nilesh