【问题标题】:How to extract all id's from a JSON response using JSON JMESPasth Extractor in Jmeter?如何使用 Jmeter 中的 JSON JMESPAsth Extractor 从 JSON 响应中提取所有 id?
【发布时间】:2021-05-24 06:13:33
【问题描述】:

我创建了一个获取请求以获取所有条目,即 997 个条目,并使用 JSON JMESPath Extractor 将条目 ID 存储在列表中。我使用的 JMESPath 表达式是 entries[*].id ,我使用 ForEach Controller 循环遍历列表并在下一个 http 请求中使用列表的每个值。问题是我想获取列表中所有 997 个条目的 id,而不仅仅是 JMESPath 提取器一次给出的 10 个值。我尝试将条目的长度设为 len 并使用 While Controller 循环 100 次,以便我可以在条件 ((${len}+3)/10) 下执行大约 1000 次下一个 http 请求。但是,无论循环执行多少次,从 JMESPath Extractor 获得的列表中的值都保持不变。 我得到的 Json 响应如下所示。

{
  "total": 997,
  "entries": [
    {
      "id": 123389,
      "parent-customer": [
        {
          "id": 123775,
          "value": "Donal Thornber"
        }
      ]
    }
}

我只保留了一个条目以供参考。

【问题讨论】:

    标签: json while-loop jmeter automated-tests jmespath


    【解决方案1】:

    如果您需要一次性获取所有 ID - 最简单的方法是使用 JSON Extractor,它提供了 .. deep scan operator,因此像 $..id 这样的表达式将匹配 all id 属性值,无论它们在哪里:

    更多信息:API Testing With JMeter and the JSON Extractor

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 2020-07-28
      相关资源
      最近更新 更多