Суть дела: после нажатия кнопки "Удалить" на странице появляется отдельный слой с текстом "Вы уверены?" и линками "Да / Нет"
Задача:
- нажать на кнопку "Удалить"
- дождаться появления слоя
- убедиться, что в слое в определенном месте (элемент страницы) находится текст "Вы уверены"?
- click
- pause | 2000
- assertElementPresent
Работает при условии, что за эти две секунды появится ожидаемый слой. Но иногда он не появляется. Значит, следует использовать waitForElementPresent.
Но waitForElementPresent - это проверка в стиле verify. А мне позарез нужно, чтобы проверка проводилась на уровне assertion, и в случае любых отклонений Selenium сразу останавливался.
Применил вот такой ход: ждем, когда элемент появляется, затем жестко проверяем его наличие:
- click
- waitForElementPresent
- assertElementPresent
Все работает, как будильник после посещения Кашпировского
Вопрос: есть ли более простое и элегантное решение этой задачи? Можно ли сделать так, чтобы waitFor работал как assertion?