1

在 jmeter 中,我使用 Jmeter json 路径提取器捕获变量。它捕获了大约 7-10 个值,我如何从所有捕获的值中传递任何随机值?

4

2 回答 2

1

使用内置于. 3.0_ post-processor_ JMeter语法类似于JSON Path Extractor,因此您可以重用JSON Path Expression配置的 which。

指定Match Numbers为。0_random value

从文档:

匹配数字 如果 JSON 路径查询导致许多结果,您可以选择将哪些结果提取为变量:

  • 0:表示随机(默认值)
  • -1 表示提取所有结果,它们将被命名为 _N(其中 N 从 1 到 Number of results)
  • X :表示提取第 X 个结果。如果此 Xth 大于匹配数,则不返回任何内容。将使用默认值
于 2017-03-03T10:17:17.457 回答
0

例如,你有这个 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

您现在可以使用__Random()__V()函数组合获取随机变量,例如:

${__V(firstName_${__Random(1,${firstName_matchNr},)})}

演示:

JMeter 将变量与函数结合起来

有关该方法的更多详细信息,请参阅此处是如何组合多个 JMeter 变量一文。

于 2017-03-03T11:07:23.160 回答