需要将 JSON resoponse 保存在列表中,并在 Jmeter 中传递每个请求的存储项目列表

Need to save a JSON resoponse in a list and pass the stored list of items for each request in Jmeter

提问人:Vivek Kanna 提问时间:11/16/2023 更新时间:11/16/2023 访问量:17

问:

我有一个如下所示的 json 响应

[ { “firstName”: “威廉”, “lastName”:“莎士比亚”, “Title”: “先生”, “id”: “1”, “书籍”:[ { “id”: “WS1”, “title”: “约翰王”, “年份”:“1596” }, { “id”: “WS2”, “title”: “凯撒大帝”, “year”: “1599” }, { “id”: “WS3”, “title”: 《罗密欧与朱丽叶》, “year”: “1595” } ], “国籍”: “英语” } ]

在上面的响应中,我有 3 个 ID,我需要将它们存储为数组或列表。然后我有 3 个 http 请求,我需要将每个 id 分别传递给每个请求。

如何使用任何后处理器存储列表并以线性方式将 id 传递给每个请求

JMemeter JMETER-5.0

评论


答:

0赞 lucas-nguyen-17 11/16/2023 #1

使用JSON提取器

  • 名字:id
  • JSON 路径表达式:$[*].books[*].id
  • 匹配号码: -1

enter image description here访问每个值:

id_1=WS1
id_2=WS2
id_3=WS3

enter image description here

0赞 Dmitri T 11/16/2023 #2
  1. JSON 提取器添加为返回该 JSON 的请求的子级,并按如下方式进行配置:

    enter image description here

    JsonPath 表达式的文本形式,以防万一:$..books.*.id

  2. 为了迭代提取的 ID,您可以使用 ForEach 控制器

    enter image description here

演示:

enter image description here

如果需要在不迭代的情况下访问单个值,则可以使用 、 等。 JMeter 变量引用。${ID_1}${ID_2}