我对Jmeter中的Json提取器采样器有疑问。 我有一个json,其中包含组件列表,问题是列表的顺序正在更改,如果我在早上发送请求,则列表的顺序与晚上不同。 我想提取Id = 10606的值“ SalesPerson”。 问题是,如果10606的Id是第一个响应,则可以,但是,如果其顺序不同,则会带来错误的值。 我需要每次发送请求时都可以搜索ID 10606并返回销售人员(在示例“ Bebeto”中)。 能做到吗?它将准确地提取特定值,而不是根据响应位置来定位。
{
"Error": null,
"ErrorCode": 0,
"Data": [{
"Account": "Pro",
"SalesPerson": "Ronaldo",
"Id": 7722,
"Name": "Brazil"
}, {
"Account": "Basic",
"SalesPerson": "Bebeto",
"Id": 10606,
"Name": "USA"
}, {
"Account": "Basic",
"SalesPerson": "Rivaldo",
"Id": 13017,
"Name": "Greece"
}],
"Totals": 3
}
提供了采样器,即使列表中的第一个10606也可以正常工作。我希望它提取ID为10606的销售人员,无论其在响应中的位置如何。我想提供10606并获取销售员。 在所提供的方案中,结果是错误的,因为其提取为“ Ronaldo” 我想念什么?
答案 0 :(得分:1)
选择Filter Operator,类似:
$..[?(@.Id == '10606')].SalesPerson
应该为您解决问题
演示:
更多信息和技巧:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios