Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Selenium не кинул NoSuchElementException!


(Andrey) #1

Здравствуйте!
Есть код:

public boolean isRequiredFieldIndicator() {
    logger.info("__|{}|__", getSelf().find(By.xpath("..")).find("v-required-field-indicator"));
    return getSelf().find(By.xpath("..")).find("v-required-field-indicator").is(Condition.visible);
}

Вот, что находится в DOM на момент его вызова, при этом getSelf() = div[@class=fromDate]:


По окончании метода в логе вижу это:

2016-03-04 13:03:56 [main] INFO  smth_package.DatePickerWrap - __|NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"sd"}|__

А где же exception?!
Посмотрел похожие тему ничего такого не нашел(
Заранее спасибо за помощь


(You Rooock) #2

В логе же эксепшен.
Или я что-то не так понял?


(Andrey) #3

В сообщении написано про него и все…
А тест успешный. и не завален


(brbrr) #4

ну как по мне, то у вас нет div'а с классном fromDate
что такое find тоже не понятно. он никакие исключения не игнорирует?

похоже на то, что где то у вас обрабатывается исключение, и что-то из getSelf или find возвращает текст ошибки


(asolntsev) #5

А почему должна быть ошибка?
Метод $.is(Condition.visible); возвращает true или false, падать он и не должен.


(Евгений Бухгаммер) #6

Немного оффтоп, но попробуйте назвать функцию получше. В теле функции условия называется isVisible. А снаружи складывается ощущение, что у поля проверяется isRequired.

Предложение:
isVisibleIndicatorFieldRequired