Jmeter json路径提取器-如何从所有捕获的变量中获取随机值?
在jmeter中,我使用jmeter json路径提取器捕获变量。它捕获了大约7-10个值,如何从所有捕获的值中传递任意随机值?使用Jmeter json路径提取器-如何从所有捕获的变量中获取随机值?,jmeter,blazemeter,Jmeter,Blazemeter,在jmeter中,我使用jmeter json路径提取器捕获变量。它捕获了大约7-10个值,如何从所有捕获的值中传递任意随机值?使用JMeter中内置的后处理器。语法类似于JSON路径提取器,因此可以重用配置的JSON路径表达式 为随机值指定匹配数字到0 从文档: 匹配数字如果JSON路径查询导致许多结果,您可以选择提取哪一个作为变量: 0:表示随机(默认值) -1表示提取所有结果,它们将被命名为_N(其中N从1到结果数) X:表示提取第X个结果。如果此Xth大于匹配数,则不返回任何内容。默认
JMeter
中内置的后处理器。语法类似于JSON路径提取器
,因此可以重用配置的JSON路径表达式
为随机值
指定匹配数字
到0
从文档:
匹配数字如果JSON路径查询导致许多结果,您可以选择提取哪一个作为变量:
- 0:表示随机(默认值)
- -1表示提取所有结果,它们将被命名为_N(其中N从1到结果数)
- X:表示提取第X个结果。如果此Xth大于匹配数,则不返回任何内容。默认值为
使用
例如,您有以下JSON响应:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
],
"city": "Castle Rock",
"state": "Maine"
}
您可以使用JSON路径提取器获取firstName
,其表达式为:$…firstName
。它将生成以下JMeter变量
firstName=["John","Anna","Peter"]
firstName_1=John
firstName_2=Anna
firstName_3=Peter
firstName_matchNr=3
现在,您可以使用和函数组合获得随机变量,如:
${__V(firstName_${__Random(1,${firstName_matchNr},)})}
演示:
有关该方法的更多详细信息,请参阅本文