【问题标题】:Jmeter json path extractor - How can we take random values from all captured variable?Jmeter json 路径提取器 - 我们如何从所有捕获的变量中获取随机值?
【发布时间】:2017-03-03 19:07:23
【问题描述】:

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

【问题讨论】:

    标签: jmeter blazemeter


    【解决方案1】:

    使用JSON Extractor(从3.0 版本开始),这是在JMeter 中内置的post-processor。语法类似于JSON Path Extractor,所以可以复用配置的JSON Path Expression

    random value 指定Match Numbers0

    来自文档:

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

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

    【讨论】:

      【解决方案2】:

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

      演示:

      有关该方法的更多详细信息,请参阅Here’s What to Do to Combine Multiple JMeter Variables 文章。

      【讨论】:

        猜你喜欢
        • 2017-07-31
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        • 1970-01-01
        • 1970-01-01
        • 2022-06-13
        相关资源
        最近更新 更多