Karate 空手道-验证存储在不同文件中的json响应

Karate 空手道-验证存储在不同文件中的json响应,karate,Karate,我需要验证存储在两个不同文件中的2个json响应。我正在阅读它们并进行比较。但是我得到了一个错误原因:所有键值都不匹配,而且很少有元素不匹配。只有当我将json存储在文件中并在功能文件中读取时,才会出现此问题 Json文件1:Test.Json { “webServiceDetail”:{ “特色”:{ “featureCd”:“ABCD”, “imaginaryInd”:“100.0”, “extraInd1”:“someRandomValue1” }, “包含列表”:[ { “功能CD”:

我需要验证存储在两个不同文件中的2个json响应。我正在阅读它们并进行比较。但是我得到了一个错误原因:所有键值都不匹配,而且很少有元素不匹配。只有当我将json存储在文件中并在功能文件中读取时,才会出现此问题

Json文件1:Test.Json

{
“webServiceDetail”:{
“特色”:{
“featureCd”:“ABCD”,
“imaginaryInd”:“100.0”,
“extraInd1”:“someRandomValue1”
},
“包含列表”:[
{
“功能CD”:“PQR”,
“featureName”:“正在检查第二个加载项服务”,
“extraInd1”:“someRandomValue1”,
“extraInd2”:“someRandomValue1”
},
{
“featureCd”:“XYZ”,
“featureName”:“正在检查加载项服务”,
“图像索引”:“50.0”
}
]
}

}
您很接近,但
includeDeviceList
的顺序不匹配。做一个改变:

* set expected.webServiceSummary.includeServicesList = '#(^^expectedList)'

如果我将这两个JSON存储在同一个功能文件中,那么一切都会正常工作。只有当我从不同的文件中读取时才会出现问题。谢谢Peter,这很有效。但在某些情况下,即使顺序匹配,我在尝试匹配时也会出现此[object object]错误,“#(^^^ expectedList)”不起作用(即,在某些复杂元素中),请您帮助我了解使用“#(^^^ expectedList)”的逻辑,好吗?我在github中也找不到这个。我的意思是,在某些情况下,我需要使用contains关键字。比如,*match Test1包含expected-在这里,我再次看到错误,expected:“#(^^expectedList)”,原因:实际值不包含expected。我在这里有点迷路了@sandeephegde阅读了文档。慢慢来。如果需要,打开一个新问题: