【问题标题】:JMeter: JSON Extractor - Extract using multiple conditionsJMeter: JSON Extractor - 使用多个条件进行提取
【发布时间】:2020-08-23 05:51:30
【问题描述】:

我想提取满足多个条件的 JSON 块。例如,提取具有两个或多个期望值的变量的块。请参阅下面给出的示例。

[
  {
   id:"1",
   name:"ABC",
   appName:"XYZ",
   state:"New",
   appType:"owner",
   date:"May 12"
  },

  {
   id:"2",
   name:"DEF",
   appName:"UVW",
   state:"In Progress",
   appType:"manager",
   date:"May 13"
  },

  {
   id:"3",
   name:"GHI",
   appName:"RST",
   state:"In Progress",
   appType:"owner",
   date:"May 12"
  }
]

从上面的 JSON 中,我想提取 JSON 块,其中 state:"In Progress" 和 appType:"Owner";即以下块:

  {
   id:"3",
   name:"GHI",
   appName:"RST",
   state:"In Progress",
   appType:"owner",
   date:"May 12"
  }

我一直在使用 JSON 提取器来放置 JSON 路径表达式:

$.[?(@.state == "In Progress") && ?(@.appType== "owner")]

但它不会提取任何结果。是否有任何“AND/&&”条件来提取该特定块。请帮忙!

谢谢, 席德

【问题讨论】:

    标签: json jmeter load-testing stress-testing jmeter-5.0


    【解决方案1】:

    试试这个方法:

    $..[?(@.state=="In Progress" && @.appType=="owner")]
    

    这将为您提供数组中所需的块。

    【讨论】:

    • @Siddharth Gandhi - 解决方案对你有用吗!
    • 是的,它奏效了。我有一个问题,在复杂的查询中,如果我希望状态为 New 或 In progress 并且 appType 为所有者,我该怎么办。我可以像 ((New || In Progress) && Owner) 那样做吗??提前致谢。
    猜你喜欢
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 2023-03-07
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多