You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:45:39