Jmeter中对数组排序后单个输出

拟定id为变量,通过json提取器$..id进行id_ALL的获取:

Id_ALL=53,55,56

增加JSR223后置处理器: 

// 获取提取的数据

def data = vars.get('id_ALL').split(',').collect { it as int } 

// 按大小排序

data.sort() 

// 输出排序后的数据

log.info("Sorted Data: " + data) 

// 存储排序后的数据

vars.put('sortedData', data.toString()) 

可获取sortedData=[53, 55, 56]。因为数组前后有方括号[],所以需要增加三个split函数: 

${__split(${sortedData},sortedData_sp_1,[)}

${__split(${sortedData_sp_1_1},sortedData_sp_2,])}

${__split(${sortedData_sp_2_1},sortedData_sp,\, )} 
增加Foreach控制器进行逐一输出:

由于存在转义字符,所以在增加Foreach处理器后需要再增加一个if控制器对id_last进行判断: 

${__jexl3("${id_last}">0)} 

以上表示若id_last<=0则不进行数值判断,也不做后续处理。

否则会出现“?“号,如以下情况:

 

 

 

posted @ 2024-06-21 14:34  子小逗子  Views(11)  Comments(0Edit  收藏  举报