2014-09-04 2 views
0
public boolean checkRemoveButtonAvailability() { 
    List<WebElement> buttonsOnPage = findAll(BUTTONS); 
    for (WebElement button : buttonsOnPage) { 
     String buttonText = button.getText(); 
     if (buttonText.equals("Remove")) { 
      return true; 
     } 
     else { 
      return false; 
     } 
    } 
    return true; 
} 

@Test 
public void removeButtonHasBeenCleared() { 
....... 
assertFalse(userSearchPage.checkRemoveButtonAvailability()); 
    } 

Я использую выше метод checkRemoveButtonAvailability() в моем тесте, и результат теста всегда передается, хотя во время тестов я проверить, если Удалить Кнопка доступна или нет ,Java - Селен - Boolean метод всегда возвращает ложь

Также, если я удалю последний тип возврата return true, IDE сообщает мне, что должен быть добавлен тип возврата.

Любые предложения?

Спасибо

ответ

2

Ваше утверждение неверно:

else { 
    return false; 
} 

Если первая кнопка, которая проверяется не содержит нужный текст, метод возвращает ложь, и цикл завершается.

Удалить это заявление else, и все в порядке.

Окончание return должно быть false.

+3

Недостаточно, чтобы удалить оператор 'else', также следует изменить возвращаемое значение на false после цикла for. В противном случае этот метод всегда будет возвращать true. –

+0

+1. это действительно так. Я думал, что это уже ложь, и это должно быть по умолчанию. – PKlumpp

+0

Я удалил инструкцию else и сделал последнее значение return равным false. а также наоборот (сначала false, а затем true). И тест передается независимо от того, доступна ли кнопка или нет. –

Смежные вопросы