Вопрос такой возник при использовании
$("#id").waitUntil(Condition.disappear, 7_000);
Суть такая, что этот #id появляется после того, как выбирается какое-то значение в другом dropdown.
Этот #id - просто спиннер. Как только он пропадет, будет означать что данные в дропдауне загрузились и можно выбирать.
Вопрос: что, если #id этого спиннера не появится вообще ?
Иными словами, как отработает селенидовский waitUntil(Condition.disappear) в случае, если он даже не был appeared ?
Кинет exception ? Подождет и продолжит выполнение ?
Не факт
Например, выбирается значение из первого селекта ( у которого всего, скажем, 5 значений на выбор). После этого подтягиваются значения для второго селекта ( их очень мало, скажем, 3 штуки и посему спиннера не появляется). Ошибки нет
Ну, т.е., значения второго зависят от того, какое было выбрано в первом.
Соответственно, спиннер на втором может как появиться ( в случае большого кол-ва данных ), так и нет ( не уверен, что совсем нет ).
waitUntil(disappear) - это то же самое, что и waitUntil(not(visible)). То есть ему всё равно, был ли элемент хоть когда-нибудь. Если элемента не было и нет, тест будет зелёным.