[空手道]:在查询的响应中检索一个 id,然后在下一个中重用它

[karate]: retrieve an id in the response of a query and then reuse it in the next

我在执行这种类型的非常简单的请求 1 结束时恢复 ID 时遇到问题:

Given path "blah"
And header Authorization = "Bearer " + token
And request req
When method post
Then status 201

* def ts_id = response.id

大多数时候我都很好地恢复了ts_id,但我的印象是情况并非总是如此。因此请求 2 在请求 1 之后并且需要 ts_id returns 错误 400.

请求2失败:

Given path 'toto', ts_id, 'tata'
And header Authorization = "Bearer " + token
And request req
When method post
Then status 200

出现以下错误:

状态代码为:400,预期:200,响应时间(以毫秒为单位):118,url...

我的测试很简单,没有重叠和外部调用 我不知道如何处理这个随机问题。 感谢帮助

这很可能是因为您的第一反应发生了变化。除非您提供复制方法,否则无法解决此问题。让我说这不太可能是空手道的问题。

也就是说,看看 retry until 是否是您问题的解决方案: