在 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 请求
程序如下:
在您的线程组中添加您的采样器或请求。根据您的要求配置所有字段。 (即服务器 IP、端口、方法、Body 数据等)
添加 HTTP Header 管理器发送 Content-Type header 值为 application/json
在您的 sampler/request 下添加一个 JSON 路径提取器以提取响应。 (将任何变量名放在你提取的ID将被保存的地方,在JSON路径表达式中给出正确的表达式来解析它,使用NOT_FOUND作为默认值)。
- 现在您可以在后续请求中使用该变量。
要发送 JSON 只需将其放入 HTTP Request sampler. You might also need to add a HTTP Header Manager to send Content-Type header 的 "Body Data" 选项卡,值为 application/json
- 要从 JSON 中提取值,请使用它进行 JSON Extractor, you can evaluate arbitrary JsonPath 查询。
要解码整个响应(或在步骤 2 中提取的变量),您可以使用 __urldecode() function。
有关使用 JMeter 进行负载测试 REST API 端点、使用 JSON 响应等的更多信息,请参阅 REST API Testing - How to Do it Right 文章。
我有一个问题,但我找不到完整的答案。 我正在使用 Jmeter 3.2,并在请求中使用 json,问题是我得到了编码响应(%20france 而不是法国)。 我在网上阅读了如何解码响应并将其移动到文件或变量, 但我不想这样做,我想解码响应,然后使用 json 提取器对其进行解析,例如将 ID 字段放入下一个请求中。 有人可以建议逐步解决方案吗 问候
更具体一点 1.在jmeter中发送一个json请求 2.解码jmeter中的响应 3. 从解码响应中获取 ID 字段 4. 将步骤 3 中的 ID 放入新的 json 请求
程序如下:
在您的线程组中添加您的采样器或请求。根据您的要求配置所有字段。 (即服务器 IP、端口、方法、Body 数据等)
添加 HTTP Header 管理器发送 Content-Type header 值为
application/json
在您的 sampler/request 下添加一个 JSON 路径提取器以提取响应。 (将任何变量名放在你提取的ID将被保存的地方,在JSON路径表达式中给出正确的表达式来解析它,使用NOT_FOUND作为默认值)。
- 现在您可以在后续请求中使用该变量。
要发送 JSON 只需将其放入 HTTP Request sampler. You might also need to add a HTTP Header Manager to send Content-Type header 的 "Body Data" 选项卡,值为
application/json
- 要从 JSON 中提取值,请使用它进行 JSON Extractor, you can evaluate arbitrary JsonPath 查询。
要解码整个响应(或在步骤 2 中提取的变量),您可以使用 __urldecode() function。
有关使用 JMeter 进行负载测试 REST API 端点、使用 JSON 响应等的更多信息,请参阅 REST API Testing - How to Do it Right 文章。