【问题标题】:JSR223 Postprocessor to parse json in jmeterJSR223 后处理器在 jmeter 中解析 json
【发布时间】:2022-05-13 16:56:05
【问题描述】:

我使用 BSF 后处理器在我的一个 jmeter 测试文件中解析 json。我的代码如下。

eval('var response = '+prev.getResponseDataAsString());
vars.put("userAccountID", response.ID);

但我发现 BSF 后处理器会降低 Jmeter 的性能。所以我要使用 JSR223 后处理器。我需要知道上面 JSR223(JAVA 语言)中对应的代码是什么。提前致谢;

【问题讨论】:

    标签: performance jmeter load-testing jsr223


    【解决方案1】:

    我建议使用 jsr223 断言和 javascript。然后你可以简单地检查和解析你的数据。例如:

    var response = SampleResult.getResponseDataAsString();
    var jsonOutput = JSON.parse(response);
    

    现在您可以简单地对“jsonOutput”进行操作。

    #UPDATE#

    看起来在新的 JMeter 版本中使用 javascript 已被弃用,因为性能和缺乏操作数据的选项。 (当时我还是测试开发人员时,我的示例运行良好;这就是我在这里展示它的原因) 可能更好的选择是迁移到 Groovy: http://michalsi.github.io/performance-tests/2018/01/08/jmter-working-with-json.html

    【讨论】:

    • JSON 默认似乎不可用:Problem in JSR223 script, Set $SIGNATURE_ID, DOCUMENT_ID javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: JSON for class: Script241
    • 据我所知;在新的 jmeter 中,javascript 有点被弃用,所以也许你应该迁移到 groovy。 michalsi.github.io/performance-tests/2018/01/08/…
    • 我在 Groovy 中使用new groovy.json.JsonSlurper().parseText(String),效果很好。只是感觉很笨重:-)
    【解决方案2】:

    Java SE 中没有对 JSON 的开箱即用支持,因此示例代码将取决于您选择的 Java 的 JSON 库。

    我可以建议看看JSON Path Extractor Post Processor 吗?它旨在解析 JSON 数据,不需要任何脚本。

    有关 JSON 路径提取器的更多信息,请参阅 Using the XPath Extractor in JMeter 指南(向下滚动到“解析 JSON”部分)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多