如何将数据存储在存储在变量中的数组中?

问题描述:

以下是我的问题:如何将数据存储在存储在变量中的数组中?

我正在测试一个系统,它在每个请求中都有多个ID。有2个ID我想存储在一个数组中,让他们稍后再运行一个响应。

以下是正文我收到

{ 
"id" = 1234; 
"Name" = "Meier" 
} 

所以,我通常存储ID与

var body = JSON.parse(responseBody); 
postman.setEnvironmentVariable("ID", body.id); 

与我可以存储1个ID的变量,但不能把第二一个在里面。为此,我必须复制请求,设置第二个变量,每次更改所需的案例时更改代码。

我现在想知道的是:如何将多个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); 

编辑

从我自己的谷歌搜索,看来你不能在postman中的环境变量中存储数组。所以你可以尝试做这样的事情 -

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(',') 

将分割字符串直到给你一个数组。

+0

这是一个不错的方法。如果我第一次运行这个代码,一切运行良好。但如果我第二次运行它时出现错误“storeIDs.push不是函数” – Pawana

+0

我做了一些Google搜索,看起来像不能直接在邮递员环境变量中存储数组。请参阅最新的答案。 –