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)#

Проверить, отображается ли 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)#

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

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

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

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

Returns

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

scrollIntoView#

public void scrollIntoView(WebElement element)#

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

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)#

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

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

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

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

waitForInteraction#

public WebElement waitForInteraction(WebElement element)#

Дождаться того, что 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)#

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

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