如何将数据存储在存储在变量中的数组中?
问题描述:
以下是我的问题:如何将数据存储在存储在变量中的数组中?
我正在测试一个系统,它在每个请求中都有多个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(',')
将分割字符串直到给你一个数组。
这是一个不错的方法。如果我第一次运行这个代码,一切运行良好。但如果我第二次运行它时出现错误“storeIDs.push不是函数” – Pawana
我做了一些Google搜索,看起来像不能直接在邮递员环境变量中存储数组。请参阅最新的答案。 –