空手道框架文本匹配 startsWith 以及 contains with OR 子句
Karate framework text match startsWith as well as contains with OR clause
我正在解析所有名称对象的响应,它 returns 一个数组
* 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 条件也放在同一行中。任何人都可以帮我解决逻辑问题。提前致谢!
给你:
* 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(_)'
我正在解析所有名称对象的响应,它 returns 一个数组
* 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 条件也放在同一行中。任何人都可以帮我解决逻辑问题。提前致谢!
给你:
* 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(_)'