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处理器后需要再增加一个if控制器对id_last进行判断:
${__jexl3("${id_last}">0)}
以上表示若id_last<=0则不进行数值判断,也不做后续处理。
否则会出现“?“号,如以下情况: