在 Jmeter 中解码 json 并将一个响应变量用于另一个请求

Decode json in Jmeter and use one response's varible for another request

我有一个问题,但我找不到完整的答案。 我正在使用 Jmeter 3.2,并在请求中使用 json,问题是我得到了编码响应(%20france 而不是法国)。 我在网上阅读了如何解码响应并将其移动到文件或变量, 但我不想这样做,我想解码响应,然后使用 json 提取器对其进行解析,例如将 ID 字段放入下一个请求中。 有人可以建议逐步解决方案吗 问候

更具体一点 1.在jmeter中发送一个json请求 2.解码jmeter中的响应 3. 从解码响应中获取 ID 字段 4. 将步骤 3 中的 ID 放入新的 json 请求

程序如下:

  1. 在您的线程组中添加您的采样器或请求。根据您的要求配置所有字段。 (即服务器 IP、端口、方法、Body 数据等)

  2. 添加 HTTP Header 管理器发送 Content-Type header 值为 application/json

  3. 在您的 sampler/request 下添加一个 JSON 路径提取器以提取响应。 (将任何变量名放在你提取的ID将被保存的地方,在JSON路径表达式中给出正确的表达式来解析它,使用NOT_FOUND作为默认值)。

演示:

  1. 现在您可以在后续请求中使用该变量。

演示:

  1. 要发送 JSON 只需将其放入 HTTP Request sampler. You might also need to add a HTTP Header Manager to send Content-Type header 的 "Body Data" 选项卡,值为 application/json

  2. 要从 JSON 中提取值,请使用它进行 JSON Extractor, you can evaluate arbitrary JsonPath 查询。
  3. 要解码整个响应(或在步骤 2 中提取的变量),您可以使用 __urldecode() function

有关使用 JMeter 进行负载测试 REST API 端点、使用 JSON 响应等的更多信息,请参阅 REST API Testing - How to Do it Right 文章。