我正在尝试从jmeter脚本上的JSON响应中提取多个值。以下是我的回复示例:
{ “ startDate”:“ 2018-12-10T15:36:34.400 + 0000”, “ userId”:“ 7211111-2fa90”, “ createdBy”:“ TEST”, “注意”: { “ content”:“申请已提交” }, “类型”:“已提交” }
"currentEventState": "CLOSED",
{
"Xxxx": "test",
"Loc": null,
"Zipcode": [],
"Locality": 82,
"Address": {
"Add": 12302,
"Add2": "place",
"Zip": {
"Phone": "home",
"Email": "test@test.com"
}
},
"state": "MD",
"Cost": "E "
},
"AppID": "cd8d98e6-c2a79",
"Status": "CLOSED",
}
对于TYPE为Submitted和Status为Closed的情况,我尝试提取userid和AppID。我尝试将Json提取器与$。[?(@。Type ==“ SUBMITTED”)]一起使用。[*] 。?(@。Status ==“ CLOSED”)。userid,APPID,但无法获得预期的结果。谁能在这方面指导我。
答案 0 :(得分:1)
您需要使用inline predicate来组合2个子句和一个分号,以便将结果存储到2个单独的JMeter变量中。
配置如下:
userid;appid
$..[?(@.Type=='SUBMITTED' && @.Status == 'CLOSED')].userId; $..[?(@.Type=='SUBMITTED' && @.Status == 'CLOSED')].AppID
NA;NA
这是单个表达式的演示正常工作:
这是Debug Sampler报告的提取值: