以下是我的问题:
我正在测试一个系统,它在每个请求中都有多个ID。我希望将2个ID存储在一个数组中,然后让它们再次运行响应。
以下是我收到的身体
{
"id" = 1234;
"Name" = "Meier"
}
所以,我通常用
存储IDvar body = JSON.parse(responseBody);
postman.setEnvironmentVariable("ID", body.id);
我可以在变量中存储1个ID,但不能在其中添加第二个ID。为此我必须复制请求,设置第二个变量,每次更改所需的案例时都要更改代码。
我现在想知道的是:如何在环境变量中存储多个ID,以便将它们与集合末尾的响应进行比较?
答案 0 :(得分:0)
我对邮递员并不完全熟悉,但如果我理解正确并且您想要存储来自回复的ID,那么您可以使用类似的内容 -
var body = JSON.parse(responseBody);
var storedIds = postman.getEnvironmentVariable("ID");
if(storedIds) {
storedIds.push(body.id)
} else {
storedIds = [body.id]
}
postman.setEnvironmentVariable("ID", storedIds);
修改强>
从我自己的谷歌搜索来看,你似乎无法在邮递员的环境变量中存储数组。因此你可以尝试做这样的事情 -
var body = JSON.parse(responseBody);
var storedIds = postman.getEnvironmentVariable("ID");
if (storedIds) {
storedIds = storedIds.concat(',' + body.id)
} else {
storedIds = body.id
}
postman.setEnvironmentVariable("ID", storedIds);
然后,当你想要将它读回来循环或者你想做什么时,你可以使用
var idsArray = postman.getEnvironmentVariable("ID").split(',')
将分割字符串以提供数组。