在接口自動化的過程中,經(jīng)常遇到需要遍歷的參數(shù)組。jmeter在中,foreach控制器可以實現(xiàn)遍歷參數(shù),但是只能有一個入?yún)?。一旦遇到?shù)組,foreach控制器表示我也無能為力。。。
我們提供的服務有:成都網(wǎng)站設計、網(wǎng)站建設、外貿(mào)網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、嘉興ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的嘉興網(wǎng)站制作公司
為了解決這個問題,今天教大家一個實現(xiàn)數(shù)組遍歷的方法
json表達式+循環(huán)控制器+計數(shù)器+matchNr函數(shù)+beanshell腳本
首先我們來看一個例子 。在下圖中,我們需要把三組返回值中的參數(shù)遍歷寫入本地文件。如省份:人口
首先我們需要把通過JSON Extractor把這三組參數(shù)提取出來
?
觀察debug我們可以發(fā)現(xiàn)這三組數(shù)據(jù)都是成對出現(xiàn)的。{name_1,population_1};{name_2,population_2};{name_3,population_3}??倲?shù)是通過matchNr函數(shù)計算
添加一個循環(huán)計數(shù)器,循環(huán)次數(shù)為matchNr。意思就是統(tǒng)計出幾組數(shù)據(jù),腳本就遍歷幾次
在循環(huán)控制器下面添加計數(shù)器,用于指定數(shù)據(jù)讀取的行數(shù)。最大值也是matchNr計算得出的數(shù)值
在控制器下面添加beanshell腳本,用于將讀取的參數(shù)遍歷寫入本地文件。通過計數(shù)器的函數(shù)嵌套方式,遍歷每一組數(shù)據(jù),循環(huán)寫入本地文件。
FileWriter?fstream?=?new?FileWriter("D:\\\參數(shù)表.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();
觀察響應結果
?
寫入的本地文件