2017-08-30 294 views
2

以下是我的問題:如何將數據存儲在存儲在變量中的數組中?

我正在測試一個系統,它在每個請求中都有多個ID。有2個ID我想存儲在一個數組中,讓他們稍後再運行一個響應。

以下是正文我收到

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

所以,我通常存儲ID與

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

與我可以存儲1個ID的變量,但不能把第二一個在裏面。爲此,我必須複製請求,設置第二個變量,每次更改所需的案例時更改代碼。

我現在想知道的是:如何將多個ID存儲在環境變量中,以便將它們與收集結束時的響應進行比較?

回答

0

我不完全熟悉,郵遞員,但如果我理解正確,你想存儲了從響應中標識的,那麼你可以使用類似 -

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搜索,看起來像不能直接在郵遞員環境變量中存儲數組。請參閱最新的答案。 –