问题描述
我正在尝试实现重试,直到场景通过。
* retry until response.status == 200
但我的场景响应代码与 200,204,404 不同 我想重试,直到场景通过而不仅仅是状态代码检查。 因为如果我不能在后台编写,我必须将这段代码写到我的每个场景中。
我可以这样做吗?
解决方法
对于这种简单的情况,我不建议“重用”。请花一些时间阅读本文。代码重复没问题。真的:https://stackoverflow.com/a/54126724/143475
也就是说你可以定义一个可重用的函数并重用它。像这样:
* def isStatusOk = function(x){ return x.status == 200 || x.status == 204 }
然后你可以这样做:
* retry until isStatusOk(response)
最后,请阅读:https://twitter.com/KarateDSL/status/1364433453412851714