Karate 在空手道中进行轮询后,有没有一种方法可以断言请求并使其失败?

Karate 在空手道中进行轮询后,有没有一种方法可以断言请求并使其失败?,karate,Karate,我有一个请求,如果请求正在处理中或已通过,我将在响应参数中得到处理或提交。 我能够轮询并获取状态是否为“正在处理”或“已提交”,但在此之后,如果在轮询5次后仍无法获取预期状态,则我无法拒绝请求。 在某些重试没有提供预期响应后,我如何才能使请求失败?答案在您的问题中 我假设您正在使用js函数进行轮询, 如果是这样,您可以从中添加布尔值返回值,如果您的条件未满足返回值为假,或者如果条件满足返回值为真,则断言从要素文件返回的值 * def pollingFunc = """ function(x) {

我有一个请求,如果请求正在处理中或已通过,我将在响应参数中得到处理或提交。 我能够轮询并获取状态是否为“正在处理”或“已提交”,但在此之后,如果在轮询5次后仍无法获取预期状态,则我无法拒绝请求。
在某些重试没有提供预期响应后,我如何才能使请求失败?

答案在您的问题中

我假设您正在使用js函数进行轮询, 如果是这样,您可以从中添加布尔值
返回值
,如果您的条件未满足
返回值为假
,或者如果条件满足
返回值为真
,则断言从要素文件返回的值

* def pollingFunc =
"""
function(x) {
     // your polling logic which retrives status
     if (status == x) {
      return true;
     } 
     else{
      return false;
     } 
} 
"""
特色

* def statusFound = pollingFunc("Processed" )
* assert (statusFound == true) 

如果在轮询
断言后未获得预期状态,则测试将失败

,答案在您的问题中

我假设您正在使用js函数进行轮询, 如果是这样,您可以从中添加布尔值
返回值
,如果您的条件未满足
返回值为假
,或者如果条件满足
返回值为真
,则断言从要素文件返回的值

* def pollingFunc =
"""
function(x) {
     // your polling logic which retrives status
     if (status == x) {
      return true;
     } 
     else{
      return false;
     } 
} 
"""
特色

* def statusFound = pollingFunc("Processed" )
* assert (statusFound == true) 
如果在轮询
断言后未获得预期状态,则测试将失败