【问题标题】:jmeter json extractor variablejmeter json提取器变量
【发布时间】:2018-10-27 23:25:46
【问题描述】:

我正在尝试根据上一步设置的变量 (idSearch) 查找 json 值。我尝试使用“json 提取器”并设置以下参数:

- 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'

【问题讨论】:

    标签: json jmeter


    【解决方案1】:

    您的方法应该可以正常工作,我能想到的唯一可能的问题是您的 ${idSearch} 变量未定义或具有与您的 JSON 输入不匹配的值

    尝试查看 jmeter.log 文件并查找以下内容:

    Error processing JSON content in JSON Extractor
    

    如果存在该行 - 您的变量或 JSON 提取器配置有问题。

    您还可以通过将下一行添加到 log4j2.xml 文件来增加 JSON 提取器的 JMeter 日志详细程度:

    <Logger name="org.apache.jmeter.extractor.json.jsonpath.JSONPostProcessor" level="debug" />
    

    完成后,您应该会在 jmeter.log 文件或 Log Viewer 窗口中看到究竟发生了什么

    另一个潜在的问题是错误的 JSON Extractor scope,您应该将它作为返回上述 JSON 的请求的子项,否则 id 变量可能会被后续采样器覆盖

    您可以使用Debug SamplerView Results Tree 侦听器组合检查${idSearch} 变量值:

    【讨论】:

    • 我检查并正确设置了我的 JSON 提取器范围。还有其他建议吗?
    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2018-06-01
    相关资源
    最近更新 更多