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

时间:2017-08-30 11:56:06

标签: javascript arrays testing postman

以下是我的问题:

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

以下是我收到的身体

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

所以,我通常用

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

我可以在变量中存储1个ID,但不能在其中添加第二个ID。为此我必须复制请求,设置第二个变量,每次更改所需的案例时都要更改代码。

我现在想知道的是:如何在环境变量中存储多个ID,以便将它们与集合末尾的响应进行比较?

1 个答案:

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

将分割字符串以提供数组。