如何根据条件验证数组中字段的子字符串

时间:2018-12-06 02:12:37

标签: karate

在空手道中做事总是有多种方式,这是我能够考虑的,但不幸的是,我尝试做的事情也没有用。不胜感激。

现在我们想要的是得到一个响应,它是一个数组,然后我们只想验证某些字段,这些字段基于id值,事件字符串会有所不同,因此我们必须在事件中验证子字符串特定ID。

第一个示例有效,因为它不是检查子字符串而是完整的字符串。第二种情况在我要匹配的子字符串的正则表达式不起作用。如果不支持,还有其他替代方法吗?

  

方案:匹配完整的字符串(有效

* def response = [{id:1 , "event":"some data abc something"},{id:2 , "event":"some xyz something"},{id:3 , "event":"some 123 something"},{id:4 , "event":"some 567 something"}]

* def verify = [{id:2, "event" : "some xyz something"},{id:4, "event" : "some 567 something"}]

* match response contains verify
  

方案:通过正则表达式进行匹配无法检查子字符串(不起作用

  * def response = [{id:1 , "event":"some data abc something"},{id:2 , "event":"some xyz something"},{id:3 , "event":"some 123 something"},{id:4 , "event":"some 567 something"}]

  * def verify = [{id:2, "event" : "#regex (?i)(xyz)"},{id:4, "event" : "#regex (?i)(567)"}]

  * match response contains verify

1 个答案:

答案 0 :(得分:1)

尝试一下:

* def verify = [{id:2, "event" : "#regex (?i).*xyz.*"},{id:4, "event" : "#regex (?i).*567.*"}]