Логический метод для проверки значения веб-элемента - PullRequest
0 голосов
/ 30 апреля 2020

Мне нужно протестировать динамический c веб-элемент с использованием Selenium, который через некоторое время изменит свое значение (зависит от серверной части). Итак, я построил логический метод, который возвращает true, если веб-элемент имеет нужное мне значение, и false, если это значение никогда не получается. Я хочу проверять изменение значения через некоторые интервалы (таким образом, Thread.sleep между страницами обновляется). Мой код всегда возвращает true, что я делаю неправильно?

public boolean checkStatus() throws InterruptedException {

    for(int i=0; i<2;) {
        if (!serviceStatus.serviceElement().equals("LIVE")) {
            Thread.sleep(5000);
            theBrowser.navigate().refresh();
            i++;
        }else{
            return true;
        }
    }
    return false;
}

Метод используется в основном тесте при следующем утверждении:

    Ensure.that(checkStatus()).isTrue();

1 Ответ

0 голосов
/ 30 апреля 2020

Я предполагаю, что serviceElement () - это Webelement, вы должны получить текст для элемента с помощью метода getText () и сравнить его со строкой, которую вы хотите («LIVE») в этом сценарии. Вы, кажется, сравниваете Webelement с Строка здесь. Ниже должно работать, если я правильно понял требование.

public boolean checkStatus() throws InterruptedException {
      boolean isMatching = false;
    for(int i=0; i<2;) {
        if (!serviceStatus.serviceElement().getText().equals("LIVE")) {
            Thread.sleep(5000);
            theBrowser.navigate().refresh();
            i++;
            isMatching = false;
            break;

        }else{
            isMatching = true;
        }
    }
    return isMatching;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...