我正在通过Karate 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
但是karate.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
您能建议如何从karate.call结果中提取HTTP状态,以便我断言响应吗?
答案 0 :(得分:4)
这应该有效,
* def status = result.responseStatus
相似,您还可以访问response
,responseTime
,responseHeaders
,responseCookies
答案 1 :(得分:0)
204响应码表示:
服务器已成功满足请求,并且没有 在响应有效内容正文中发送的其他内容
所以,响应主体中没有任何东西是正常的。
就您而言,我将只验证状态码正确(根据应用程序规范)。