Jmeter Taurus/性能测试:验证JsonArray中的数据
我提取一个包含字符串列表的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
# 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控制器的子级添加,它们将不起作用- 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)}})'