概述
在接口自動化的過程中,經常遇到需要遍歷的參數組。jmeter在中,foreach控制器可以實現遍歷參數,但是只能有一個入參。一旦遇到數組,foreach控制器表示我也無能爲力。。。
爲了解決這個問題,今天教大家一個實現數組遍歷的方法
涉及元件
json表達式+循環控制器+計數器+matchNr函數+beanshell腳本
案例分析
首先我們來看一個例子 。在下圖中,我們需要把三組返回值中的參數遍歷寫入本地文件。如省份:人口
首先我們需要把通過JSON Extractor把這三組參數提取出來
觀察debug我們可以發現這三組數據都是成對出現的。{name_1,population_1};{name_2,population_2};{name_3,population_3}。總數是通過matchNr函數計算
添加一個循環計數器,循環次數爲matchNr。意思就是統計出幾組數據,腳本就遍歷幾次
在循環控制器下面添加計數器,用於指定數據讀取的行數。最大值也是matchNr計算得出的數值
在控制器下面添加beanshell腳本,用於將讀取的參數遍歷寫入本地文件。通過計數器的函數嵌套方式,遍歷每一組數據,循環寫入本地文件。
FileWriter fstream = new FileWriter("D:\\\參數表.txt",true); BufferedWriter out =new BufferedWriter(fstream); out.write(vars.get("name_${num}")+"人口"+":"+ vars.get("population_${num}")+"萬"); out.write(System.getProperty("line.separator")); out.close(); fstream.close();
觀察響應結果
寫入的本地文件