JMeter 将 JSON 响应值传递给下一个请求
JMeter pass JSON response value to next request
我正在使用 JMETER 测试网络应用程序。
首先,我执行一个 http GET 请求,其中 returns 一个 JSON 数组,例如:
[
{
"key1":
{
"subKey":
[
9.120968,
39.255417
]
},
key2 : 1
},
{
"key1":
{
"subKey":
[
9.123852,
39.243237
]
},
key2 : 10
}
]
基本上我想随机取一个元素,取 key1
的元素并在 JMeter 中创建 2 个变量,将用于下一个查询(如果随机,则不可能只取第一个元素) .
我尝试使用具有以下设置的 JSON Extractor
(该示例显示了单个变量的情况):
并在下一个 http GET 请求中将参数引用为 ${var1}
。
如何设置 JSON Extractor
提取一个值,保存到 JMeter 变量中,以便在下一个 http GET 请求中使用?
"JMeter variable name to use" 您在此处打开的选项意味着您将检查此变量的内容,而不是示例结果。
所以修复很明显:如果您打算提取从示例结果中提取的任何内容 - 将其改回原样。
PS 如果您打算相反(处理变量内容,而不是示例结果)-请告诉我。
正确的JSON路径查询应该是这样的:
$..key1.subKey[${__Random(0,1,)}]
您需要将 Apply to
值切换为 Main sample only
或 Main sample and sub-samples
在上面的设置中:
- 匹配号:
0
- 告诉 JMeter 从 key1
子键 中获取随机值
${__Random(0,1,)}
- 从数组中获取一个随机元素,即 9.120968
或 39.255417
更多信息:
我正在使用 JMETER 测试网络应用程序。
首先,我执行一个 http GET 请求,其中 returns 一个 JSON 数组,例如:
[
{
"key1":
{
"subKey":
[
9.120968,
39.255417
]
},
key2 : 1
},
{
"key1":
{
"subKey":
[
9.123852,
39.243237
]
},
key2 : 10
}
]
基本上我想随机取一个元素,取 key1
的元素并在 JMeter 中创建 2 个变量,将用于下一个查询(如果随机,则不可能只取第一个元素) .
我尝试使用具有以下设置的 JSON Extractor
(该示例显示了单个变量的情况):
并在下一个 http GET 请求中将参数引用为 ${var1}
。
如何设置 JSON Extractor
提取一个值,保存到 JMeter 变量中,以便在下一个 http GET 请求中使用?
"JMeter variable name to use" 您在此处打开的选项意味着您将检查此变量的内容,而不是示例结果。
所以修复很明显:如果您打算提取从示例结果中提取的任何内容 - 将其改回原样。
PS 如果您打算相反(处理变量内容,而不是示例结果)-请告诉我。
正确的JSON路径查询应该是这样的:
$..key1.subKey[${__Random(0,1,)}]
您需要将
Apply to
值切换为Main sample only
或Main sample and sub-samples
在上面的设置中:
- 匹配号:
0
- 告诉 JMeter 从key1
子键 中获取随机值
${__Random(0,1,)}
- 从数组中获取一个随机元素,即9.120968
或39.255417
更多信息: