【问题标题】:Karate framework text match startsWith as well as contains with OR clause空手道框架文本匹配startsWith 以及包含与OR 子句
【发布时间】:2019-09-20 07:45:45
【问题描述】:

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

* 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 条件也放在同一行中。谁能帮我解释一下逻辑。提前致谢!

【问题讨论】:

  • 我不明白;如果它以'map'开头,那么名称显然包含'map'。

标签: regex karate jsonpath json-path-expression


【解决方案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(_)'

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多