Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Karate 空手道框架:在父API中查找子API响应(是动态的)_Karate - Fatal编程技术网

Karate 空手道框架:在父API中查找子API响应(是动态的)

Karate 空手道框架:在父API中查找子API响应(是动态的),karate,Karate,我有一个场景,其中父API响应的一部分来自子API。如果子API响应(是动态的)只有一个数组元素,则无需匹配父API响应中的数组元素,如果数组大小>1,则需要从wards上的索引1匹配父API响应 * def child = {"array1":[{"mbr1":{"id":"A1"}},{"mbr2":{"id":"A2"}}]} 子api响应没有特定的顺序,array1可以有“n”个数组元素(mbr1、mbr2、mbr3等) 如果子API响应如上所示,则父API响应如下所示: * def

我有一个场景,其中父API响应的一部分来自子API。如果子API响应(是动态的)只有一个数组元素,则无需匹配父API响应中的数组元素,
如果数组大小>1
,则需要从wards上的索引1匹配父API响应

* def child =  {"array1":[{"mbr1":{"id":"A1"}},{"mbr2":{"id":"A2"}}]}
子api响应没有特定的顺序,
array1
可以有
“n”
个数组元素
(mbr1、mbr2、mbr3等)

如果子API响应如上所示,则父API响应如下所示:

* def parent =  {"parent":{"muid":"1234"},"elg":[{"EID":"E123"},{"members":[{"mbr2":{"id":"A2"}}]}]}
因此,只有在满足上述条件的情况下,才会在父API响应中填充最终的子API响应。 如果子API仅返回一个元素,则父API响应将如下所示:

* def parent = {"parent":{"muid":"1234"},"elg":[{"EID":"E123"}]}
那么,如果child返回200ok且子数组长度>1,如何进行匹配以查看子数组是否存在于父数组中? 因此,我正在寻找以下场景的解决方案:

if (child responseStatus == 200){
    if (child.array1.length > 1){
        for (i = 1;i <= child.array1.length; i++){
            parent.elg[1].members[i] contains child.arrays1[i]
        }
    }
}  
if(子响应状态==200){
如果(child.array1.length>1){

对于(i=1;i给你,请阅读文档:


给你,请阅读以下文件:


我不会再说了,但是您可以做一些工作来简化示例,创建一个简单的json,比如
{a:[1,2]}
这有那么难吗?如果你不这样做,人们回答这个问题只会花更多的时间,或者人们不会再这么说,但是你可以做一些工作来简化这个例子,创建一个简单的json,比如
{a:[1,2]}
这有那么难吗?如果你不这样做,人们回答问题只会花更多的时间,否则人们甚至不会尝试使用Anks@Peter Thomas。我已经更新了我的JSON。
*def parentArray=parent.elg[1]如果子api响应只有一个元素,则.array1
将为null。我已向Qn添加了更多详细信息。Thanks@JCK请问一个新问题。我已经更新了我的JSON。
*def parentArray=parent.elg[1]如果子api响应只有一个元素,则.array1
将为null。我已向Qn添加了更多详细信息。Thanks@JCK请问一个新问题
* def parentArray = parent.elg[1].array1
* def expected = child.array1.length > 1 ? child.array1 : parentArray
* match parentArray contains only expected