karate.reeat创建了一个无法遍历的格式错误的JSON



我有一个场景,需要调用包含API调用的辅助功能文件,其中响应是JSON对象。然而,我需要多次调用这个场景,所以我使用karate.reeat来实现这一点。但是,得到的响应是一个格式错误的JSON,我无法遍历它。这就是我正在做的:

* def fun = function(i){ return karate.call('abc.feature@abc', value)}
* def loop = karate.repeat(2, fun)
* karate.log(loop)

我得到的回复是:

{
"Total_packages1": {
"package1": {
"tags": [
"kj21",
"j1",
"sj2",
"z1"
],
"expectedResponse": [
{
"firstName": "Name",
"lastName": "lastName",
"purchase": [
{
"title": "title",
"category": [
"a",
"b",
"c"
]
}
]
}
]
}
}
}
{
"Total_packages2": {
"package2": {
"tags": [
"kj212",
"j12",
"sj22",
"z12"
],
"expectedResponse": [
{
"firstName": "Name2",
"lastName": "lastName2",
"purchase": [
{
"title": "title2",
"category": [
"a2",
"b2",
"c2"
]
}
]
}
]
}
}
}

如您所见,Total_packages2开始时格式不正确。我需要抓住";标签";然而,我不能像在JSON中使用单个响应那样简单地执行Total_packages.package1.tags。

如果我不能通过karate.reeat实现我所需要的,有没有其他方法可以推荐这样的循环?我在文档中没有找到任何关于这个特定场景的内容。

不要将karate.repeat()与JSON数组一起使用call。阅读本部分文档:https://github.com/karatelabs/karate#data-驱动特征

最新更新