Object Wait

  • All Implemented Interfaces:

    
    public class Wait
    
                        

    Статический класс с методом ожидания выполнения условий waitFor.

    Пример (Java):

    var timestamp = Wait
         .waitingTime(Duration.ofSeconds(10))
         .pollingInterval(Duration.ofMillis(500))
         .needFailWithMessage("Не удалось получить нужное значение")
         .waitFor(ContentHelper::getTimestamp, t -> t.endsWith("4"));

    Пример (Kotlin):

    val timestamp = Wait
         .waitingTime(10.seconds)
         .pollingInterval(500.milliseconds)
         .needFailWithMessage("Не удалось получить нужное значение")
         .waitFor({ ContentHelper.getTimestamp() }, { it.endsWith("4") })

    Методы waitingTime, pollingInterval и needFailWithMessage необязательны. Если их не вызывать, то будут использованы значения по умолчанию.

    • Constructor Detail

    • Method Detail

      • pollingInterval

         final static Wait.Waits pollingInterval(Duration interval)

        Частота проверки выполнения условия

        Parameters:
        interval - частота проверки
        Returns:

        Waits

        Since:

        2.3.1

      • pollingInterval

         final static Wait.Waits pollingInterval(Duration interval)

        Частота проверки выполнения условия

        Parameters:
        interval - частота проверки
        Returns:

        Waits

        Since:

        2.3.1

      • needFailWithMessage

         final static Wait.Waits needFailWithMessage(String errorMessage)

        Нужно ли останавливать тест и отмечать его как непройденный, если условие не выполнено за время ожидания.

        Если этот метод не вызван и условие не выполнено, метод waitFor вернет null.

        Parameters:
        errorMessage - Сообщение об ошибке, если условие не выполнено
        Returns:

        Waits

        Since:

        2.3.1

      • stopIf

         final static Wait.Waits stopIf(Callable<Boolean> stopCallable)

        Прервать ожидание, если вызов переданной лямбды (stopCallable) вернет true.

        Вызов stopCallable производится в методе waitFor после проверки условия.

        Если вызов stopCallable вернет true, то, если в цепочке вызовов был метод needFailWithMessage, тест будет остановлен как непройденный, если метод needFailWithMessage не вызывался, метод waitFor вернет данные, полученные перед вызовом stopCallable, ожидание на этом прекратится.

        stopIf(errorMessage::exists)
        Parameters:
        stopCallable - лямбда-условие прерывания ожидания
        Returns:

        Waits

        Since:

        2.4.0

      • description

         final static Wait.Waits description(String description)

        Описание ожидания. Добавляется в лог и отчет Allure

        Parameters:
        description - описание
        Returns:

        Waits

        Since:

        2.4.1

      • waitFor

         final static <T extends Any> T waitFor(Callable<T> supplier, Predicate<T> predicate)

        Ожидание выполнения условия.

        Метод возвращает объект, полученный из supplier, если для него истинно условие-predicate

        Parameters:
        supplier - Лямбда-источник данных
        predicate - Лямбда-условие
        Returns:

        Объект типа T

        Since:

        2.3.1

      • waitFor

         final static Boolean waitFor(Callable<Boolean> supplier)

        Ожидание выполнения условия.

        Метод возвращает результат вызова лямбды-supplier

        Parameters:
        supplier - Лямбда-условие
        Returns:

        true, если условие выполнено

        Since:

        2.4.1