Jmeter Taurus/性能测试:验证JsonArray中的数据

Jmeter Taurus/性能测试:验证JsonArray中的数据,jmeter,performance-testing,taurus,Jmeter,Performance Testing,Taurus,我提取一个包含字符串列表的JsonArray,并希望通过正则表达式验证此对象中的每个字符串。 问题是,我似乎在金牛座的网站上找不到任何答案。 你知道我怎么做吗? 示例如下: # Verification of value inside the JsonArray extract-jsonpath: names: $.names - foreach: name in names do: - jsonpath: ${name} # if this JSONPA

我提取一个包含字符串列表的JsonArray,并希望通过正则表达式验证此对象中的每个字符串。 问题是,我似乎在金牛座的网站上找不到任何答案。 你知道我怎么做吗? 示例如下:

# Verification of value inside the JsonArray
    extract-jsonpath:
      names: $.names
  - foreach: name in names
    do:
    - jsonpath: ${name} # if this JSONPATH is not found, assert will fail
      validate: true # validate against an expected value
      expected-value: "\\w" # value we're expecting to validate. [default: false]
      regexp: true  # if the value is regular expression, default: true
      expect-null: false  # expected value is null
      invert: false # invert condition

我不认为这是可能的,因为:

  • foreach
    关键字生成一个普通
  • 这些
    jsonpath
    validate
    等默认情况下应用于,如果您将它们作为ForEach控制器的子级添加,它们将不起作用
  • 假设以上几点,我建议添加一个来执行所有检查。在金牛座,这是通过以下方式实现的:


    有关使用Groovy脚本可以做什么的更多想法,请参阅本文。

    我认为as不可能:

  • foreach
    关键字生成一个普通
  • 这些
    jsonpath
    validate
    等默认情况下应用于,如果您将它们作为ForEach控制器的子级添加,它们将不起作用
  • 假设以上几点,我建议添加一个来执行所有检查。在金牛座,这是通过以下方式实现的:

    有关使用Groovy脚本可以做什么的更多想法,请参阅本文

    - url: https://api.example.com/v1/media/search
      extract-jsonpath:
        names: $.names
      jsr223:'1.upto(vars.get("names_matchNr") as int,{if (vars.get("names_$it").matches("\\w+")) {prev.setSuccessful(false)}})'