Механизм повтора в системе тестирования карате

Механизм повтора в фреймворке тестирования карате Как повторить тест при неудаче в фреймворке тестирования каратэ, таком как Junit и TestNG. что-то вроде открытого класса Retry реализует IRetryAnalyzer {

private int count = 0;
private static int maxTry = 3;

@Override
public boolean retry(ITestResult iTestResult) {
    if (!iTestResult.isSuccess()) {                      //Check if test not succeed
        if (count < maxTry) {                            //Check if maxtry count is reached
            count++;                                     //Increase the maxTry count by 1
            iTestResult.setStatus(ITestResult.FAILURE);  //Mark test as failed
            return true;                                 //Tells TestNG to re-run the test
        } else {
            iTestResult.setStatus(ITestResult.FAILURE);  //If maxCount reached,test marked as failed
        }
    } else {
        iTestResult.setStatus(ITestResult.SUCCESS);      //If test passes, TestNG marks it as passed
    }
    return false;
}

}


person Rahul R    schedule 21.03.2018    source источник
comment
да, только что сделал это, у нас есть что-нибудь для повторной попытки?   -  person Rahul R    schedule 22.03.2018


Ответы (2)


У меня работает на версии 0.9.5.RC 5. Но, может быть, это один из упомянутых выше «обходных путей»?

Все, что вы делаете, это примерно так, по умолчанию 3 попытки:

* retry until responseStatus == 404
When method get

введите описание изображения здесь

person djangofan    schedule 27.12.2019
comment
retry until не является обходным решением, это законная функция, представленная в v0.9.0: P github .com / intuit / karate / Release / tag / v0.9.0. - person Peter Thomas; 27.12.2019
comment
Я сказал обходной путь из-за вашего предыдущего комментария, где вы указали ссылку на страницу, показывающую пример «повтора», и в своем комментарии вы сказали, что это «один из обходных путей» на этой странице с примером опроса. - person djangofan; 27.12.2019
comment
этому комментарию почти 2 года. больше не обходной путь. простите меня за то, что все поправил :) - person Peter Thomas; 28.12.2019

На данный момент это открытый запрос функции: https://github.com/intuit/karate/issues/247

Но есть несколько способов обхода. Вы можете получить некоторые идеи, если посмотрите на пример опроса: https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/polling/polling.feature

person Peter Thomas    schedule 22.03.2018