Я немного запутался в многословии, используемое для навигатора API здесь http://www.gebish.org/manual/current/api/geb/navigator/Navigator.htmlГеба с помощью Навигатора методы на пустых навигаторах
В particualr, я смущен метод .isDisplayed.
В документации к этапу указано: «Возвращает true, если отображается единственный элемент контекста или false для пустых навигаторов. Нельзя вызвать многопользовательские навигаторы».
Проблема в том, что я вызываю .isDisplayed() на пустой навигатор, он не возвращает false. Вместо этого он выдает эту ошибку:
table: geb.navigator.EmptyNavigator' is not present
Линии она проваливает выглядит примерно так:
at SomePage //This page has a module element called "module"
if(module.table.isDiplayed()){ // module has a navigtor element called table
//do stuff
}
Элемент таблицы в вопросе действительно несуществующий, так что элемент таблицы действительно пустой навигатор , но в соответствии с документацией это означает, что когда я вызываю .isDisplayed(), он должен возвращать false, но вместо этого он выдает вышеупомянутую ошибку.
это тот же случай при вызове методов имитационного навигатора, таких как .isEmpty() agai n, если элемент не найден на странице, я ожидал бы .isEmpty(), чтобы вернуть true при вызове из пустого элемента, но вместо этого он выдает исключение EmptyNavigator.
Что дает?
Возможно, это было спасибо. Я все еще думаю, что документация немного неясна в этом. – switch201