jmeter-5.0 - 使用 BeanShell 脚本拆分 Json 响应正文
问题描述
我正在尝试使用 JMeter 测试 REST API。我的领导告诉我使用 JMeter 对每个 API 进行负载测试。目前我正在测试一个 Get API 请求,并且我得到了下面带有双引号的 JSON 响应正文。
现在我必须将此 JSON 正文传递给另一个 HTTP 请求并测试 API。
我的问题:
如何使用拆分方法获取 ts 和 auth 的值,例如 (ts=20190221004021 和 auth=EngineeringSolutions:ydvMMlY2uxiKG0yuwh1IbVgR2mfqTQaQncTEaMr+Ef0=) 并将它们存储到两个不同的变量中并在日志视图中打印它们。
我正在尝试使用 split 方法从 json 响应中获取 ts 和 auth 值。我可以使用下面的代码将 URL 分成两部分。但是,这不是我的解决方案。我想获取 'ts' 和 'auth' 值并将它们存储在两个不同的变量中。
谁能指导我如何修剪和拆分 JSON 响应?
解决方案
要使用 JMeter 解析 JSON,您需要将JSON Extractor添加到您的测试计划中:
- 右键单击获取 JSON 的获取 API 请求
- 添加 -> 后处理器
- JSON 提取器。
- 在
JSON Path expressions
字段中指定您的 JSON 路径以解析 JSON 响应 - 在 中设置变量名称
Names of created variables
,例如ts
和auth
在下一个请求中将此变量用作:
${ts}
例如${auth}
:https://api.rewards.com:/lists/v1/listcontainer/1?ts=${ts}&auth=${auth}=
查看本文以获取有关 JSON 和其他提取器的更多信息:
使用 JMeter 提取器
推荐阅读
- labview - 在本地计算机上运行远程 VI
- azure - Azure Functions、部署槽和 API 管理:功能键问题
- android - 在 build.gradle 中使用 java 类
- c++ - 用给定的字典构建 C++ 翻译器?
- javascript - 循环遍历所有数据,创建对象,输出,重复
- php - PHP:存储在数据库中的会话 ID 不起作用
- python - 如何将 Google 客户端视觉库响应转换为 Json
- java - Java Stream close 方法不明确的行为
- docker - 无法增加 Max Application Master Resources
- java - 使用一组对时发生 ClassCastException