Я не вижу никакой проблемы как таковой в ваших испытаниях кода.
AjaxElementLocatorFactory
AjaxElementLocatorFactory
- это концепция отложенной загрузки в Page Factory шаблон для идентификации WebElements только тогда, когда они используются в какой-либо операции, т.е. timeOut для WebElement может быть назначен классу страницы объекта с помощью AjaxElementLocatorFactory
.
Синтаксис:
PageFactory.initElements(new AjaxElementLocatorFactory(driver, TimeoutValue), this);
Пример:
PageFactory.initElements(new AjaxElementLocatorFactory(driver,5), this);
Приведенный выше код будет ожидать максимум 5 секунд, покаэлементы, указанные в аннотациях, загружены.Если элемент не найден за указанный промежуток времени, он выдаст NoSuchElementException
.
Так же, как в вашем кодовом блоке, если элемент не найден после 5 seconds
, NoSuchElementException должен быть выброшенвозможно, не завершил загрузку, когда load()
возвращается.После вызова load()
метод isLoaded()
должен продолжать сбой до полной загрузки компонента.