Karate中如何从When步骤获取HTTP状态并赋值给变量?
Karate中保存DELETE请求的HTTP状态码解决方案
你的问题出在使用了不存在的status变量,Karate里没有这个内置变量,正确的做法是使用内置的responseStatus变量来获取响应状态码。
修正后的代码示例:
When method DELETE # 将内置的响应状态码赋值给自定义变量,供后续步骤使用 * def savedResponseStatus = responseStatus # 执行状态码断言 Then status 204 # 后续测试步骤中可以直接使用 savedResponseStatus * print "已保存的状态码:", savedResponseStatus
关键说明:
- Karate在发送请求(
When method ...)后,会自动把HTTP状态码存入**responseStatus**内置变量,这个变量在请求完成后直接可用。 - 因为204响应没有响应体,
response变量会是null,所以不能用response.status来获取状态码,必须用responseStatus。 - 赋值操作可以放在
Then status断言之前或之后,不影响结果,断言只是验证状态码是否符合预期,不会改变responseStatus的值。
内容的提问来源于stack exchange,提问作者owl_271
相关产品推荐
相关产品推荐

