我需要有关 Postman 测试脚本的帮助,当我对 vRealize Automation进行 API 调用时,我会获得不同形式的响应正文值以前的部署。数据将位于不同的数组中,其随机变化。
这是我在测试脚本中所拥有的:
var data = JSON.parse(responseBody);
var Array1 = data.content
for(var i = 0; i < Array1.length; i++){
console.log("" + data.content[i].data.ip_address);
}
控制台将打印:
undefined
192.168.245.211
undefined
部署后,吊架打印:
192.168.245.212
undefined
undefined
最后一次部署:
undefined
undefined
192.168.245.213
因此该值位于data.content[0].data.ip_address
上
或data.content[1].data.ip_address
或data.content[2].data.ip_address
我想做的是:
1)如果我决定将未定义的值打印到控制台,则我想忽略它。
2)我想用console.log
替换pm.environment.set
来设置IP地址,而不管数组0,1 0r 2上的值是什么
答案 0 :(得分:0)
您可以在循环中使用if
条件来检查项目,如果未定义项目,请将其设置为environment
变量。
_.each(pm.response.json().content, (arrItem) {
if(arrItem.data.ip_address !== undefined) {
pm.environment.set("ip_address", arrItem.data.ip_address)
}
}