REST保证 - 无法访问JSON响应中的特定键
我正在使用REST-Assured库,并且在访问下面的JSON响应中的特定键freshdeskId
时遇到了一个非常奇怪的问题,这是一个Response
对象在我的代码中。REST保证 - 无法访问JSON响应中的特定键
{
"status": true,
"responseData": {
"orderId": "553259",
"orderItemName": "None",
"userId": "636049",
"freshdeskId": "#155",
"orderItemId": null,
"updatedOn": 1491824018000,
"message": "OK"
}
}
我能够访问其他领域,如orderId
,userId
,updatedOn
等使用response.path("responseData.orderId")
(或类似),但response.path("responseData.freshdeskId")
返回一个空字符串,而它预计将返回“#155”的价值。
得到了这个问题的根本原因,原来这是一个服务器端的问题,因为它自从所需的相同从别的地方拿来异步没有为freshdeskId
属性发送的值。
因此,作为一种解决方案,我在测试中添加了等待60秒,生成response
。在此期间,后端更新的值为freshdeskId
。
你见过这个吗? https://github.com/rest-assured/rest-assured/wiki/Usage#bootstrapping-restassuredmockmvc
此外,支持异步请求此添加 - https://github.com/rest-assured/rest-assured/issues/462
不,我没有。但它与我的问题有什么关系? –
你看看你的网络标签的响应JSON本身?服务器可能会向您发送一个空字符串。 –
@JoshuaJWilborn感谢您的快速回复。我尝试转储'response.asString()'的输出,发现'freshdeskId'字段确实有一个空字符串(“”)。但是如果我从邮差中找到相同的API,我会得到一个合适的字符串值(“#155”)。这看起来很奇怪。 –