如何从空手道呼叫中获取响应HTTP状态?获取响应状态为 204,但空手道.log(result.response)为空



我正在通过空手道API调用网络服务。执行服务时,我正在获得预期的HTTP状态204。但是,当我记录响应时,我得到空白。

以下是我的网络服务调用、响应和日志输出

    result = karate.call('ExecuteWebService.feature', [urlToExecute]);
    karate.log("Response is " + result.response); #Expecting that code displays HTTP status here

我知道正在得到正确的呼叫响应,因为我的日志显示以下内容

    HH.mm.ss.mil [main] DEBUG com.intuit.karate - 
    1 < 204
    1 < Date: Fri, Rest of date portion
    1 < X-Application-Context: App Context Data

但是空手道.log不显示状态代码。我需要状态代码,以便我可以根据预期值断言状态,从而通过/失败测试

    HH.mm.ss.mil [main] DEBUG com.intuit.karate - response time in milliseconds: 431
    HH.mm.ss.mil [main] INFO com.intuit.karate - [print] 
    HH.mm.ss.mil [main] INFO com.intuit.karate - Response is  

你能建议如何从空手道.call结果中提取HTTP状态,以便我可以断言响应吗?

这应该有效,

* def status = result.responseStatus

同样,您也可以访问responseresponseTimeresponseHeadersresponseCookies

204 响应代码表示:

服务器已成功完成请求,并且没有 要在响应有效负载正文中发送的其他内容

所以,这是正常的,你在响应正文中没有任何内容。
在您的情况下,我只会验证状态代码是否正确(根据应用程序规范)。

最新更新