这是我想要实现的目标: 我在空手道代码中的 js 函数之外声明了一个变量。该变量是一个对象数组,并且已经由值组成。 我在 eval 标记内编写了一个 js 函数,并且在该函数内有一个使用该数组的 for 循环。
* def results = response.results
* eval
"""
Var md;
for(var id in results){
md = results[id].data
console.log(md)
}
"""
但是在控制台中 [object, Object] 正在被打印。我假设 for.loop 无法理解我想要循环的数组名称。
enter code here
最佳实践是从不在空手道中使用 JS for 循环。请参阅文档的此部分:https://github.com/karatelabs/karate#loops
我会这样做:
* def response = { results: [1, 2, 3] }
* response.results.forEach(x => karate.log(x))
如果需要,与熟悉 JS 的人一起工作。请假设空手道不支持您正在做的 JS 类型。这与测试 API 无关。