我如何对 json 数组响应使用逻辑或

How can i use logical OR for json array response

我有一个场景,其中 API 的响应是 JSON 数组。下面我给出了一个 JSON 响应的示例,其中 'test' 是整个数组中可用的键。所以我必须写到功能步骤,我应该在一个步骤中用 null 和正则表达式验证值。如果我正在验证 reg exp 并且值为 null 或反之亦然。步骤失败。

例如:

* match each $..test== '#regex ^[ A-Za-z0-9-]*$'                                                                                                           
* match each $..test== null

我已尝试执行以下步骤,但失败了。

* match each $..test== '#regex ^[ A-Za-z0-9-]*$' | test == null


"response": [
{
   "test": "Anand07"

},{
   "test": null
},{
   "test": "Archu06"
}] 

感谢您的帮助。

示例代码:

Feature: Validation

    Scenario:
        * def isValid = function(x){ return x == null || karate.match(x,'#regex ^[ A-Za-z0-9-]*$').pass }
        * def response =
            """
            [
                {
                    "test": "Anand07"
                },
                {
                    "test": null
                },
                {
                    "test": "Archu06"
                }
            ]
            """
        * match each response[*].test == '#? isValid(_)'