2017-03-20 20 views
0

我正試圖實現以下場景:郵差 - 如何使用「responseBody.has」與環境變量?

在GET請求中,我使用JSON.stringify設置了一個具有請求響應的環境變量。

在另一個GET請求中,我試圖驗證創建的環境變量是否存在於JSON響應中。但是,該響應返回的結果不僅僅是前一個請求中的結果。

這就是爲什麼我需要「搜索」響應並嘗試找到與環境變量1:1相匹配的部分。

我想(例如)與以下測試:

var test = postman.getEnvironmentVariable("testvariable") 
tests["test1"] = JSON.stringify(responseBody.has(test)); 

這似乎總是工作,即使我換個環境變量手動測試仍然通過的內容。如果我刪除JSON.stringify,那麼它總是失敗。

我該如何繼續?

+0

你試圖解析responseBody和檢查特定對來自響應的關鍵價值。 –

+0

是的,我有。然而,元素以隨機的方式顯示,我不知道他們將要的具體JSON數組的哪一部分。這就是爲什麼我需要搜索整個身體。 –

回答

0

您可以使用isEqual從lodash庫
例子:
在您的測試腳本,您可以根據您的回覆字符串替換fromEnv與環境變量的對象,並fromBody

var fromEnv = {"key1": "value1", "key3": "value3", "key2":{"child1":"childValue"}};//environment["envObj"]; 
var fromBody = {"key2":{"child1":"childValue"}, "key1": "value1", "key3": "value3"};// object from parsed JSON body 

tests["objects are equal"] = _.isEqual(fromEnv, fromBody)