我正在尝试根据一个变量(idSearch)找到一个json值,该变量是从上一步设置的。我尝试使用"json提取器“并设置以下parms:
- Names of created variable: nameValue
- JSON Path expressions: $.[?(@.id_number == ${idSearch})].name它似乎不起作用。
json样本:
[{"id_number":12,"name":"John"},
{"id_number":13,"name":"Ted"},
{"id_number":14,"name":"Mary"}]期望的结果:-如果我的json记录与我的变量($idSearch,等于12)匹配,那么nameValue被设置为'John‘或--如果我的json记录与我的变量($idSearch,等于13)匹配,那么nameValue被设置为'Ted’。
发布于 2018-10-24 08:03:48
您的方法应该工作得很好,我认为唯一可能的问题是您的${idSearch}变量没有定义,或者它的值与您的JSON输入不匹配
尝试查看jmeter.log文件并查找如下内容:
Error processing JSON content in JSON Extractor如果存在行,则变量或JSON抽取器配置会出现问题。
还可以通过在log4j2.xml文件中添加下一行来增加JMeter的JMeter日志详细性:
<Logger name="org.apache.jmeter.extractor.json.jsonpath.JSONPostProcessor" level="debug" />一旦完成,您应该看到jmeter.log文件或日志查看器窗口中到底发生了什么

另一个潜在的问题是JSON 作用域错误,您应该将它作为返回上述JSON的请求的子,否则id变量可能会被后续的采样器覆盖
可以使用${idSearch}和查看结果树侦听器组合检查调试采样器变量值:

https://stackoverflow.com/questions/52960712
复制相似问题