loadrunner12.55:循环打印lr_json_get_values()查询到的数据
处理的Json数据:
{
"success":true,
"data":{
"current":1,
"size":5,
"pageSizes":[
5,
10,
15,
20,
25
],
"total":4,
"pageCount":0,
"start":0,
"end":0,
"tablesArr":[
{
"busiSceneId":"3a5ccca2-88ff-46cd-943e-b81d372fa629",
"sceneName":"test3",
"sceneDesc":"",
"sceneTypeId":1,
"createBy":"user_1",
"createTime":"2021-05-28 16:43:00",
"updateBy":"",
"updateTime":"",
"state":1
},
{
"busiSceneId":"7eb81fcd-9db2-4233-a78f-a446ab01b722",
"sceneName":"test2",
"sceneDesc":"",
"sceneTypeId":1,
"createBy":"user_1",
"createTime":"2021-05-28 16:42:56",
"updateBy":"",
"updateTime":"",
"state":1
},
{
"busiSceneId":"92b83c92-5d23-4bfc-878b-f1519ea75286",
"sceneName":"test1",
"sceneDesc":"",
"sceneTypeId":1,
"createBy":"user_1",
"createTime":"2021-05-28 16:42:52",
"updateBy":"",
"updateTime":"",
"state":1
},
{
"busiSceneId":"d6c81dbb-3047-4266-8619-1971cf0450b2",
"sceneName":"业务线配置新增",
"sceneDesc":"业务线配置新增",
"sceneTypeId":3,
"createBy":"user_1",
"createTime":"2021-03-05 10:28:00",
"updateBy":"",
"updateTime":"",
"state":1
}
]
},
"code":200,
"message":"成功!"
}
脚本实现:获取以上JSON数据中的所有busiSceneId字段取值,并循环打印出来。
Action1()
{
int i=1,busiSceneIdnum;
web_add_auto_header("Accept-Language",
"zh-Hans-CN,zh-Hans;q=0.5");
web_reg_save_param("queryResponseBody",
"LB=",
"RB=",
"Search=Body",
LAST);
web_custom_request("queryScene",
"URL=http://10.248.57.226:9010/user-center/uap-app-scene/queryScene",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=http://10.248.57.226:9010/U-C/",
"Snapshot=t23.inf",
"Mode=HTML",
"EncType=application/json;charset=utf-8",
"Body={\"current\":1,\"size\":10,\"busiSceneId\":\"\",\"sceneName\":\"\"}",
LAST);
// Create a Json object from a string.
lr_eval_json("Buffer={queryResponseBody}",
"JsonObject=json_obj_1", LAST);
busiSceneIdnum=lr_json_get_values("JsonObject=json_obj_1",//获取响应体所有busiSceneId字段值并保存到数组JinKuList中,用于后面删除的参数化
"ValueParam=JinKuList",
"QueryString=$.data.tablesArr[*].busiSceneId",
"SelectAll=Yes",
LAST);
while(i<=busiSceneIdnum){
lr_save_string(lr_paramarr_idx("JinKuList", i), "busiSceneId");//获取数组JinKuList中索引为i的值,后面可通过直接引用{busiSceneId}进行参数化
i=i+1;
}
return 0;
}
执行日志: