我正在使用JMETER来测试Web应用。
首先,我执行一个http GET请求,该请求返回一个JSON数组,例如:
[
{
"key1":
{
"subKey":
[
9.120968,
39.255417
]
},
key2 : 1
},
{
"key1":
{
"subKey":
[
9.123852,
39.243237
]
},
key2 : 10
}
]
基本上,我想随机获取一个元素,获取key1
的元素,并在JMeter中创建2个变量,这些变量将用于下一个查询(如果是随机的,则不仅仅是第一个元素)。 / p>
我尝试将JSON Extractor
用于以下设置(该示例显示了单个变量的情况):
,并在下一个http GET请求中,将参数引用为${var1}
。
如何设置JSON Extractor
来提取值,并保存到JMeter变量中以在下一个http GET请求中使用?
答案 0 :(得分:1)
在此打开的“要使用的JMeter变量名”选项意味着您将要检查Sample结果中该变量INSTEAD的内容。
因此,解决方法很明显:如果您打算从Sample结果中提取任何内容,请将其更改回它。
PS如果您打算相反(处理可变内容,而不是样本结果)-请让我知道。
答案 1 :(得分:1)
正确的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
更多信息: