t.me/atinfo_chat Telegram группа по автоматизации тестирования

Определить исчезла ли форма или нет при нажатии кнопки "Отмена"?

Теги: #<Tag:0x00007f7486b1daf8> #<Tag:0x00007f7486b1da30> #<Tag:0x00007f7486b1d968> #<Tag:0x00007f7486b1d800>

Подскажите пожалуйста в чем не правильно использование. В классе MainPage создал метод :

def is_form_close(locator)
 return EC.invisibility_of_element_located(locator)

В тесте хочу написать следующее:

def test_check_form_close:
 main_page = MainPage()
 main_page.click_button(Locator.button_save)
 assert main_page.is_form_close(Locator("здесь локатор элемента,который исчезает" )) == True

Хочу проверить что форма закрылась.
Почему метод никогда не возвращает True??
Возвращается все равно элемент из метода…Закрыта форма или открыта все равно…

Все мне подсказали, что надо было писать так

def is_form_close(locator):
try:
var = WebdriverWait(self.driver, 3).until(EC.invisibiliti_of_element_located(locator))
return var
except TimeoutExciption:
return False

Думаю, что лучше решить эту задачу в два действия.

  1. найти элемент, который точно будет на странице и появится в любом случае позже чем проверяемый элемент.
  2. в конструкции try except искать исчезнувший элемент с минимальным ожиданием.
    Если искать сразу и таких проверок много по тестам, то при определении длинного таймаута тесты будут делаться долго, а при снижении, можно не дождаться окончательной загрузки страницы.