1 BeanShell 后置处理器
- 用 BeanShell 后置处理器获取,并处理 Json
(1)Json 示例
{
"data":[
{
"createTime":1610088888000,
"creator":"WX",
"currentInsts":[
{
"bizDate":"20210112",
"instanceId":1810177,
"status":"SUCCESS"
},
{
"bizDate":"20210110",
"instanceId":1810111,
"status":"SUCCESS"
},
{
"bizDate":"20210108",
"instanceId":1810091,
"status":"SUCCESS"
},
{
"bizDate":"20210107",
"instanceId":1810086,
"status":"SUCCESS"
},
{
"bizDate":"20210107",
"instanceId":1810083,
"status":"SUCCESS"
}
],
"expireDate":"20211217",
"exportId":5088549,
"scheduleTypeEnum":"CRON"
}
],
"host":"100.88.148.76",
"success":true,
"traceId":"6458944c161059128917180866465"
}
(2)代码
import com.alibaba.fastjson.*;
String response_data = prev.getResponseDataAsString();
log.info("——————————————| response_data:"+response_data+"|——————————————");
JSONObject data_obj = JSON.parse(response_data);
log.info("——————————————| ata_obj:"+data_obj+"|——————————————");
JSONArray jsonData = data_obj.getJSONArray("data");
log.info("——————————————| jsonData:"+jsonData+"|——————————————");
JSONArray currentInstsList = jsonData.get(0).getJSONArray("currentInsts");
log.info("——————————————| currentInstsList:"+currentInstsList+"|——————————————");
int currentInstsListlen = currentInstsList.size();
log.info("——————————————| currentInstsListLen:"+currentInstsListlen.toString()+" |——————————————");
vars.put("——————————————| currentInstsListlen",currentInstsListlen.toString()+" |——————————————");
for(int i=0;i<currentInstsListlen;i++){
String bizDate=currentInstsList.get(i).get("bizDate").toString();
log.info("——————————————| bizDate:"+bizDate+" |——————————————");
String instanceId=currentInstsList.get(i).get("instanceId").toString();
log.info("——————————————| instanceId:"+instanceId+" |——————————————");
vars.put("bizDate"+i,bizDate);
vars.put("instanceId"+i,instanceId);
}
2 循环空控制器
- 实现 for 或者 while 循环
3 取样器
(1)用户自定义变量
- 用于对 List 下标赋初始值
(2)HTTP 取样器
- 需要使用的接口
- 使用嵌套变量:
${__V(外层变量${内层变量})}
(i=1,bizDate=2,组合后${__V(bizDate${i})}
=21)
(3)BeanShell 取样器
- 用于控制 List 数组下标自增
int a1 = Integer.valueOf(${i});
int i = a1+1;
vars.put("i",i.toString());
log.info("——————————————| i:"+i.toString()+" |——————————————");