在jmeter中,我使用Jmeter json路径提取器捕获变量。它捕获的值大约为7-10,如何从所有捕获的值中传递任何随机值?
答案 0 :(得分:1)
在3.0
中使用内置post-processor
的{{3}}(从JMeter
版开始)。语法类似于JSON Path Extractor
,因此您可以重用已配置的JSON Path Expression
。
为Match Numbers
指定0
至random value
。
来自文档:
匹配数字如果JSON路径查询导致了很多结果,您可以选择要提取的变量作为变量:
- 0:表示随机(默认值)
- -1表示提取所有结果,它们将被命名为_N(其中N从1变为结果数)
- X:表示提取第X个结果。如果此Xth大于匹配数,则不返回任何内容。默认值为 使用
答案 1 :(得分:0)
例如,您有此JSON响应:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
],
"city": "Castle Rock",
"state": "Maine"
}
你有JSON Path Extractor来获取firstName
表达式:$..firstName
。它导致以下JMeter变量
firstName=["John","Anna","Peter"]
firstName_1=John
firstName_2=Anna
firstName_3=Peter
firstName_matchNr=3
现在,您可以使用__Random()和__V()函数组合获取随机变量,例如:
${__V(firstName_${__Random(1,${firstName_matchNr},)})}
演示:
有关该方法的详细信息,请参阅Here’s What to Do to Combine Multiple JMeter Variables文章。