的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