.. java:import:: java.time Duration .. java:import:: java.util List .. java:import:: java.util Optional .. java:import:: org.openqa.selenium By .. java:import:: org.openqa.selenium WebDriver .. java:import:: org.openqa.selenium WebElement .. java:import:: org.openqa.selenium.support.ui ExpectedCondition .. java:import:: ru.bitec.gs.automation.client.xpath XAttribute WebDriverHelper =============== .. java:package:: ru.bitec.gs.automation.client :noindex: .. java:type:: public class WebDriverHelper .. versionadded:: 1.1.0 добавлены методы для взаимодействия с динамически меняющейся dom-моделью. Набор вспомогательных средств для взаимодействия с :java:ref:`WebDriver `. Constructors ------------ WebDriverHelper ^^^^^^^^^^^^^^^ .. java:constructor:: public WebDriverHelper(WebDriver webDriver) :outertype: WebDriverHelper Methods ------- findElementBy ^^^^^^^^^^^^^ .. java:method:: public WebElement findElementBy(By by) :outertype: WebDriverHelper Найти :java:ref:`WebElement ` по :java:ref:`By `-селектору. :param by: механизм поиска :return: html-элемент .. seealso:: | :java:ref:`WebDriver.findElement(By) ` | :java:ref:`WebElement.findElement(By) ` findElementWithAttribute ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public WebElement findElementWithAttribute(String dataAttributeName, String value) :outertype: WebDriverHelper Найти на dom-модели dom-элемент с указанным атрибутом и его значением. :param dataAttributeName: Название атрибута :param value: значение атрибута :return: dom-элемент findElementWithAttributes ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @SafeVarargs public final WebElement findElementWithAttributes(XAttribute... attributes) :outertype: WebDriverHelper Найти на dom-модели dom-элемент со всеми указанными значениями указанных атрибутов. :param attributes: атрибуты со значениями :return: dom-элемент findElementsBy ^^^^^^^^^^^^^^ .. java:method:: public List findElementsBy(By by) :outertype: WebDriverHelper Найти список :java:ref:`WebElement `-ов по :java:ref:`By `-селектору. :param by: механизм поиска :return: список html-элементов .. seealso:: | :java:ref:`WebDriver.findElements(By) ` | :java:ref:`WebElement.findElements(By) ` findElementsWithAttribute ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public List findElementsWithAttribute(String dataAttributeName, String value) :outertype: WebDriverHelper Найти на dom-модели все dom-элементы с указанным атрибутом и указанным значением. :param dataAttributeName: название атрибута :param value: значение атрибута :return: список dom-элементов findElementsWithAttributes ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @SafeVarargs public final List findElementsWithAttributes(XAttribute... attributes) :outertype: WebDriverHelper Найти на dom-модели все dom-элементы, содержащие указанные атрибуты с указанными значениями. :param attributes: атрибуты со значениями :return: список dom-элементов getElementName ^^^^^^^^^^^^^^ .. java:method:: public String getElementName() :outertype: WebDriverHelper Возвращает имя тага Html-элемента, который будет использоваться в XPath выражении. :return: Имя тага Html-элемента. getRootWebElement ^^^^^^^^^^^^^^^^^ .. java:method:: public Optional getRootWebElement() :outertype: WebDriverHelper Возвращает ссылку на :java:ref:`WebElement `, который будет являться корнем при поиске элементов методами `wait\*` и `find\*`. Если значение не указано, поиск будет производиться от корня Html-дерева документа. :return: элемент html-дерева getWaitTimeout ^^^^^^^^^^^^^^ .. java:method:: public Duration getWaitTimeout() :outertype: WebDriverHelper Возвращает таймаут ожидания перехода Html-элемента в ожидаемое состояние. Значение используется при вызовах методов, имена которых начинаются с `wait`. :return: Длительность getWebDriver ^^^^^^^^^^^^ .. java:method:: public WebDriver getWebDriver() :outertype: WebDriverHelper Возвращает ссылку на используемый :java:ref:`WebDriver `. :return: Экземпляр :java:ref:`WebDriver `. isVisibleInViewport ^^^^^^^^^^^^^^^^^^^ .. java:method:: public boolean isVisibleInViewport(WebElement element) :outertype: WebDriverHelper .. versionadded:: 1.1.0 Проверить, отображается ли dom-элемент внутри окна браузера. По факту, выполняется проверка, что углы dom-элемента находятся внутри окна. :param element: dom-элемент :return: true если отображается of ^^ .. java:method:: public static WebDriverHelper of(WebDriver webDriver) :outertype: WebDriverHelper presenceOfNestedElementsToBeMoreThan ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static ExpectedCondition> presenceOfNestedElementsToBeMoreThan(WebElement rootWebElement, By locator, Integer number) :outertype: WebDriverHelper .. versionadded:: 1.1.0 Ожидание количества элементов по условию в родительском элементе не менее заданного количества. :param rootWebElement: родительский элемент :param locator: условие поиска элементов :param number: заданное количество :return: Boolean true когда размер списка найденных элементов равен или более заданному количеству scrollIntoView ^^^^^^^^^^^^^^ .. java:method:: public void scrollIntoView(WebElement element) :outertype: WebDriverHelper .. versionadded:: 1.1.0 Подскроллить страницу так, чтоб элемент оказался внутри окна, а не за границей. :param element: dom-элемент setElementName ^^^^^^^^^^^^^^ .. java:method:: public WebDriverHelper setElementName(String elementName) :outertype: WebDriverHelper Устанавливает значение свойства :java:ref:`getElementName() `. :param elementName: Новое имя. :return: Текущий экземпляр :java:ref:`WebDriverHelper `. setRootWebElement ^^^^^^^^^^^^^^^^^ .. java:method:: public WebDriverHelper setRootWebElement(WebElement rootWebElement) :outertype: WebDriverHelper Устанавливает значение свойства :java:ref:`getRootWebElement() `. :param rootWebElement: новое значение :return: Текущий экземпляр :java:ref:`WebDriverHelper `. setWaitTimeout ^^^^^^^^^^^^^^ .. java:method:: public WebDriverHelper setWaitTimeout(Duration duration) :outertype: WebDriverHelper Устанавливает значение свойства :java:ref:`getWaitTimeout() `. :param duration: Длительность :return: Текущий экземпляр :java:ref:`WebDriverHelper `. waitElementBy ^^^^^^^^^^^^^ .. java:method:: public WebElement waitElementBy(By by) :outertype: WebDriverHelper Дождаться появления на dom-модели dom-элемента по :java:ref:`By `-условию :param by: :java:ref:`By `-условие :return: dom-элемент waitElementWithAttribute ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public WebElement waitElementWithAttribute(String dataAttributeName, String value) :outertype: WebDriverHelper Дождаться появления dom-элемента с указанным значением указанного атрибута. :param dataAttributeName: название атрибута :param value: значение атрибута :return: dom-элемент waitElementWithAttributes ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @SafeVarargs public final WebElement waitElementWithAttributes(XAttribute... attributes) :outertype: WebDriverHelper Дождаться появления dom-элемента, содержащего все указанные атрибуты с указанными значениями. :param attributes: атрибуты со значениями :return: dom-элемент waitForDomStability ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void waitForDomStability(Duration timeout) throws AutomationException :outertype: WebDriverHelper .. versionadded:: 1.1.0 Подождать прекращения изменений dom-модели. Прекращением считается отсутствие изменений в течении указанного интервала времени. Перед ожиданием прекращения делается попытка подождать окончания отображения о продолжительной операции :java:ref:`waitUntilMaskDisappears(Duration) ` с максимальной продолжительность такого ожидания timeout + 1 секунда. :param timeout: интервал времени :throws AutomationException: если произошла ошибка при выполнении скрипта ожидания стабилизации DOM waitForInteraction ^^^^^^^^^^^^^^^^^^ .. java:method:: public WebElement waitForInteraction(WebElement element) throws org.openqa.selenium.TimeoutException :outertype: WebDriverHelper .. versionadded:: 1.1.0 Дождаться того, что :java:ref:`WebElement ` получит статус interactable (по факту, будет видимым). :param element: dom-элемент :throws org.openqa.selenium.TimeoutException: если элемент не стал interactable :return: этот-же dom-элемент waitRemovingElementBy ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void waitRemovingElementBy(By by) :outertype: WebDriverHelper Дождаться пропадания dom-элемента по :java:ref:`By `-условию :param by: :java:ref:`By `-условие waitRemovingElementWithAttribute ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void waitRemovingElementWithAttribute(String dataAttributeName, String value) :outertype: WebDriverHelper Дождаться пропадания dom-элемента с указанным атрибутом и указанным значением. :param dataAttributeName: название атрибута :param value: значение атрибута waitRemovingElementWithAttributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @SafeVarargs public final void waitRemovingElementWithAttributes(XAttribute... attributes) :outertype: WebDriverHelper Дождаться пропадания dom-элемента, содержащего все указанные атрибуты с указанными значениями. :param attributes: атрибуты со значениями waitUntilMaskDisappears ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void waitUntilMaskDisappears(Duration limit) :outertype: WebDriverHelper .. versionadded:: 1.1.0 Подождать окончания отображения сообщения о продолжительной операции. :param limit: максимальная продолжительность ожидания