Как реализовать AjaxElementLocatorFactory через Selenium и Page Factory?

numbers определяет иерархию абстрактных классов, которые определяют операции, доступные для числовых типов. См. PEP 3141 . Разница между int и Integral заключается в том, что int является конкретным типом, который поддерживает все операции Integral.

1
задан DebanjanB 28 February 2019 в 12:32
поделиться

1 ответ

Я не вижу никакой проблемы как таковой в ваших испытаниях кода.

AjaxElementLocatorFactory

AjaxElementLocatorFactory - это концепция отложенной загрузки в шаблоне Page Factory для идентификации WebElements только тогда, когда они используются в какой-либо операции то есть timeOut для WebElement может быть назначен классу страницы Object с помощью AjaxElementLocatorFactory.

  • Синтаксис:

    PageFactory.initElements(new AjaxElementLocatorFactory(driver, TimeoutValue), this);
    
  • Пример:

    PageFactory.initElements(new AjaxElementLocatorFactory(driver,5), this);
    

Приведенный выше код будет ожидать максимум 5 секунд, пока не будут загружены элементы, указанные в аннотациях. Если элемент не найден в заданный промежуток времени, он выбросит NoSuchElementException.

Как и в вашем кодовом блоке, если элемент не найден после 5 seconds, должно быть выброшено NoSuchElementException .


Под капотом

AjaxElementLocatorFactory создает AjaxElementLocator , используя SlowLoadableComponent , который может не закончить загрузку, когда [116 ] возвращается. После вызова load() метод isLoaded() должен продолжать отказывать, пока компонент полностью не загрузится.

0
ответ дан DebanjanB 28 February 2019 в 12:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: