2017-04-11 77 views
1

我正在使用REST-Assured庫,並且在訪問下面的JSON響應中的特定鍵freshdeskId時遇到了一個非常奇怪的問題,這是一個Response對象在我的代碼中。REST保證 - 無法訪問JSON響應中的特定鍵

{ 
    "status": true, 
    "responseData": { 
     "orderId": "553259", 
     "orderItemName": "None", 
     "userId": "636049", 
     "freshdeskId": "#155", 
     "orderItemId": null, 
     "updatedOn": 1491824018000, 
     "message": "OK" 
    } 
} 

我能夠訪問其他領域,如orderIduserIdupdatedOn等使用response.path("responseData.orderId")(或類似),但response.path("responseData.freshdeskId")返回一個空字符串,而它預計將返回「#155」的價值。

+0

你看看你的網絡標籤的響應JSON本身?服務器可能會向您發送一個空字符串。 –

+0

@JoshuaJWilborn感謝您的快速回復。我嘗試轉儲'response.asString()'的輸出,發現'freshdeskId'字段確實有一個空字符串(「」)。但是如果我從郵差中找到相同的API,我會得到一個合適的字符串值(「#155」)。這看起來很奇怪。 –

回答

0

得到了這個問題的根本原因,原來這是一個服務器端的問題,因爲它自從所需的相同從別的地方拿來異步沒有爲freshdeskId屬性發送的值。

因此,作爲一種解決方案,我在測試中添加了等待60秒,生成response。在此期間,後端更新的值爲freshdeskId