Jmeter中的ForEach Controller遍歷變量數組。
在這個JMeter教程中,我們將使用ForEach控制器循環訪問JSON數組。
有時我們需要解析響應並提取某些信息。例如,在測試API時,我們可以獲得可能包含JSON數組的JSON響應。
然后,我們需要遍歷數組並為每個元素執行一個動作。在JMeter中,我們可以使用ForEach控制器來遍歷JSON數組。
有關:
如何使用JMeter ForEach控制器
在此示例中,我們將向返回JSON響應的資源發出GET請求。
響應包含一個JSON對象數組。
對於每個對象,我們需要提取我們可以通過JSONPath執行的URL。
獲取上述響應中所有URL的JSONPath是$.[*].url
。一旦我們解析了JSON響應並提取了URL,我們就會得到一個字符串數組,基本上就是URL。
我們將這個數組保存在一個名為url_array的變量中
現在假設對於String數組的每個元素,我們想要對URL發出請求。在JMeter中,這是通過使用ForEach控制器完成的。
要將ForEach控制器添加到測試計划,請右鍵單擊“線程組”>“添加”>“邏輯控制器”>“ForEach控制器”
ForEach控制器需要兩個參數:
- 輸入變量前綴
- 輸出變量名稱
的輸入變量前綴取數組變量的名稱,在該例子中,url_array
。對於輸出變量名稱,我們將在此示例中分配一個變量,url_index
我們將在后續請求中使用該變量。
然后,在我們的后續請求中,我們可以使用提取每個值 ${url_index}
現在,這將循環遍歷JSON數組中的每個條目,並對URL發出HTTP請求。