JSON 提取的值未通过迭代更新

问题描述 投票:0回答:1

线程组有4个请求,第一个是登录请求。测试计划的执行方式是登录请求只执行一次,其他3个请求迭代多次。使用 JSON 提取器从第二个请求中捕获值“OrderID”,并将其传递到第三个请求正文中。

问题是,当脚本执行一定的持续时间/迭代时,每次都会从第二个请求中正确提取 OrderID 值。但在整个测试过程中,它仅传递第三个请求正文中第一次迭代期间捕获的值。

假设,如果测试执行了 3 次迭代,下面是捕获的 OrderID,

  • 第一次迭代 OrderID = abcd1234
  • 第二次迭代 OrderID = efgh5678
  • 第 3 次迭代 OrderID = xyz7890

因此,每次在第三次请求正文中传递 abcd1234 值时,不要在第二次迭代中传递 efgh5678 和在第三次迭代中传递 xyz7890

如何解决此问题并每次发送正确的值。

jmeter performance-testing json-extract
1个回答
0
投票

如果“正确提取”,您应该每次都能看到更新的值。

  1. 确保 JSON Extractor 放置正确,就像作为第二个请求的子级一样,请参阅 JMeter 范围规则了解更多详细信息

  2. 暂时启用存储第二个请求的 JMeter 响应数据,以查看您是否正在使用 查看结果树侦听器创建新订单。您还可以使用 JSON Path Tester 模式仔细检查 JSON Extractor 的匹配项:

    enter image description here

  3. 重新访问您的 JSONPath 表达式,可能会出现只提取第一个匹配项的情况,您可能需要使用 Filter Operator 或类似的东西

一般来说,如果没有看到响应数据以及测试计划的构建方式,我们无法提供全面的答案,请考虑提供足够的详细信息或最小的可重现示例

© www.soinside.com 2019 - 2024. All rights reserved.