0

我正在解析所有名称对象的响应,它返回一个数组

* def getName = response.source[*].name

And print getName

api响应看起来像

[print] [
"Map of USA",
"Global map",
"Check map of RSA"
]

我想通过忽略大写来匹配 getName[*] 是否以“map”开头或包含“map”。我可以使用 -

* def getLowerCase = karate.lowerCase(getName)
* match each getLowerCase[*] contains 'map'

但不确定如何将startsWith 条件也放在同一行中。谁能帮我解释一下逻辑。提前致谢 !

4

1 回答 1

1

干得好:

* def names = ['map foo', 'foo map', 'f map oo']

* def hasMap = function(x){ return x.startsWith('map') || x.toLowerCase().contains('map') }
* match each names == '#? hasMap(_)'
于 2019-09-20T13:51:40.740 回答