WebDriverHelper

public class WebDriverHelper

New in version 1.1.0: добавлены методы для взаимодействия с динамически меняющейся dom-моделью.

Набор вспомогательных средств для взаимодействия с WebDriver.

Constructors

WebDriverHelper

public WebDriverHelper(WebDriver webDriver)

Methods

findElementBy

public WebElement findElementBy(By by)

Найти WebElement по By-селектору.

Parameters:
  • by – механизм поиска

Returns:

html-элемент

findElementWithAttribute

public WebElement findElementWithAttribute(String dataAttributeName, String value)

Найти на dom-модели dom-элемент с указанным атрибутом и его значением.

Parameters:
  • dataAttributeName – Название атрибута

  • value – значение атрибута

Returns:

dom-элемент

findElementWithAttributes

public final WebElement findElementWithAttributes(XAttribute<java.lang.String, java.lang.String>... attributes)

Найти на dom-модели dom-элемент со всеми указанными значениями указанных атрибутов.

Parameters:
  • attributes – атрибуты со значениями

Returns:

dom-элемент

findElementsBy

public List<WebElement> findElementsBy(By by)

Найти список WebElement-ов по By-селектору.

Parameters:
  • by – механизм поиска

Returns:

список html-элементов

findElementsWithAttribute

public List<WebElement> findElementsWithAttribute(String dataAttributeName, String value)

Найти на dom-модели все dom-элементы с указанным атрибутом и указанным значением.

Parameters:
  • dataAttributeName – название атрибута

  • value – значение атрибута

Returns:

список dom-элементов

findElementsWithAttributes

public final List<WebElement> findElementsWithAttributes(XAttribute<java.lang.String, java.lang.String>... attributes)

Найти на dom-модели все dom-элементы, содержащие указанные атрибуты с указанными значениями.

Parameters:
  • attributes – атрибуты со значениями

Returns:

список dom-элементов

getElementName

public String getElementName()

Возвращает имя тага Html-элемента, который будет использоваться в XPath выражении.

Returns:

Имя тага Html-элемента.

getRootWebElement

public Optional<WebElement> getRootWebElement()

Возвращает ссылку на WebElement, который будет являться корнем при поиске элементов методами wait* и find*.

Если значение не указано, поиск будет производиться от корня Html-дерева документа.

Returns:

элемент html-дерева

getWaitTimeout

public Duration getWaitTimeout()

Возвращает таймаут ожидания перехода Html-элемента в ожидаемое состояние.

Значение используется при вызовах методов, имена которых начинаются с wait.

Returns:

Длительность

getWebDriver

public WebDriver getWebDriver()

Возвращает ссылку на используемый WebDriver.

Returns:

Экземпляр WebDriver.

isVisibleInViewport

public boolean isVisibleInViewport(WebElement element)

New in version 1.1.0.

Проверить, отображается ли dom-элемент внутри окна браузера. По факту, выполняется проверка, что углы dom-элемента находятся внутри окна.

Parameters:
  • element – dom-элемент

Returns:

true если отображается

of

public static WebDriverHelper of(WebDriver webDriver)

presenceOfNestedElementsToBeMoreThan

public static ExpectedCondition<List<WebElement>> presenceOfNestedElementsToBeMoreThan(WebElement rootWebElement, By locator, Integer number)

New in version 1.1.0.

Ожидание количества элементов по условию в родительском элементе не менее заданного количества.

Parameters:
  • rootWebElement – родительский элемент

  • locator – условие поиска элементов

  • number – заданное количество

Returns:

Boolean true когда размер списка найденных элементов равен или более заданному количеству

scrollIntoView

public void scrollIntoView(WebElement element)

New in version 1.1.0.

Подскроллить страницу так, чтоб элемент оказался внутри окна, а не за границей.

Parameters:
  • element – dom-элемент

setElementName

public WebDriverHelper setElementName(String elementName)

Устанавливает значение свойства getElementName().

Parameters:
  • elementName – Новое имя.

Returns:

Текущий экземпляр WebDriverHelper.

setRootWebElement

public WebDriverHelper setRootWebElement(WebElement rootWebElement)

Устанавливает значение свойства getRootWebElement().

Parameters:
  • rootWebElement – новое значение

Returns:

Текущий экземпляр WebDriverHelper.

setWaitTimeout

public WebDriverHelper setWaitTimeout(Duration duration)

Устанавливает значение свойства getWaitTimeout().

Parameters:
  • duration – Длительность

Returns:

Текущий экземпляр WebDriverHelper.

waitElementBy

public WebElement waitElementBy(By by)

Дождаться появления на dom-модели dom-элемента по By-условию

Parameters:
  • byBy-условие

Returns:

dom-элемент

waitElementWithAttribute

public WebElement waitElementWithAttribute(String dataAttributeName, String value)

Дождаться появления dom-элемента с указанным значением указанного атрибута.

Parameters:
  • dataAttributeName – название атрибута

  • value – значение атрибута

Returns:

dom-элемент

waitElementWithAttributes

public final WebElement waitElementWithAttributes(XAttribute<java.lang.String, java.lang.String>... attributes)

Дождаться появления dom-элемента, содержащего все указанные атрибуты с указанными значениями.

Parameters:
  • attributes – атрибуты со значениями

Returns:

dom-элемент

waitForDomStability

public void waitForDomStability(Duration timeout)

New in version 1.1.0.

Подождать прекращения изменений dom-модели. Прекращением считается отсутствие изменений в течении указанного интервала времени.

Перед ожиданием прекращения делается попытка подождать окончания отображения о продолжительной операции waitUntilMaskDisappears(Duration) с максимальной продолжительность такого ожидания timeout + 1 секунда.

Parameters:
  • timeout – интервал времени

Throws:
  • AutomationException – если произошла ошибка при выполнении скрипта ожидания стабилизации DOM

waitForInteraction

public WebElement waitForInteraction(WebElement element)

New in version 1.1.0.

Дождаться того, что WebElement получит статус interactable (по факту, будет видимым).

Parameters:
  • element – dom-элемент

Throws:
Returns:

этот-же dom-элемент

waitRemovingElementBy

public void waitRemovingElementBy(By by)

Дождаться пропадания dom-элемента по By-условию

Parameters:
  • byBy-условие

waitRemovingElementWithAttribute

public void waitRemovingElementWithAttribute(String dataAttributeName, String value)

Дождаться пропадания dom-элемента с указанным атрибутом и указанным значением.

Parameters:
  • dataAttributeName – название атрибута

  • value – значение атрибута

waitRemovingElementWithAttributes

public final void waitRemovingElementWithAttributes(XAttribute<java.lang.String, java.lang.String>... attributes)

Дождаться пропадания dom-элемента, содержащего все указанные атрибуты с указанными значениями.

Parameters:
  • attributes – атрибуты со значениями

waitUntilMaskDisappears

public void waitUntilMaskDisappears(Duration limit)

New in version 1.1.0.

Подождать окончания отображения сообщения о продолжительной операции.

Parameters:
  • limit – максимальная продолжительность ожидания