Grid

public class Grid extends AbstractView implements Clickable, KeyboardInput

New in version 1.1.0: Добавлены методы получения некоторых свойств табличного представления. Добавлены методы получения строк, столбцов и ячеек. Поддержка мыши. Методы приведены в соответствие соглашению по именам.

Список (табличное представление) - отображает данные выборки в виде таблицы/грида (набора строк с упорядочиванием значений атрибутов согласно последовательности колонок таким образом, что значение конкретного атрибута конкретной записи отображается в области пересечения известной строки и известной колонки, называемой ячейкой).

Содержит в себе методы, позволяющие получить доступ к строкам и колонкам. Так же позволяет получить некоторые характеристики табличного представления (такие, как признак возможности редактирования). Кроме того, реализует базовое взаимодействие посредством симуляции действий пользователя с помощью манипулятора типа “Мышь”.

Каждая строка выборки, после фильтрации и сортировки, уникальным образом адресуется целым числом, называемым далее “абсолютный номер”.

  • Получить строку по абсолютному номеру можно методом getRowByAbsoluteNumber(int).

  • Получить абсолютный номер выбранной строки можно методом getSelectedRowAbsoluteNumber().

  • Получить общее количество строк выборки можно методом getTotalCount().

В каждый момент времени, на табличном представлении отображается некоторое подмножество строк. Такие строки далее называются “видимые строки”.

  • Получить смещение до первой видимой строки можно методом getOffset()

  • Получить список видимых строк можно методом getRows()

Каждая отображаемая строка уникальным образом адресуется целым числом, называемым далее “видимый индекс” (getSelectedRowVisibleIndex()).

Constructors

Grid

protected Grid(Frame parent, WebElement webElement)

Grid

protected Grid(BrowserContext browserContext, WebElement webElement)

Methods

click

public void click()

Игнорируем клик в табличное представление. Интересуют только клики в строку или ячейку.

doubleClick

public void doubleClick()

Игнорируем дабл-клики в табличное представление. Интересуют только даблклики в строку или ячейку.

findTableContainerElement

protected WebElement findTableContainerElement(WebDriverHelper driverHelper)

getCell

public Cell getCell(int rowVisibleIndex, String columnAttributeName)

New in version 1.1.0.

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

Parameters:
  • rowVisibleIndex – видимый индекс строки табличного представления

  • columnAttributeName – название атрибута

Throws:
Returns:

ячейка

getCell

public Cell getCell(int rowVisibleIndex, int columnVisibleIndex)

New in version 1.1.0.

Получить ячейку табличного представления по видимым индексам строки и столбца

Parameters:
  • rowVisibleIndex – видимый индекс строки

  • columnVisibleIndex – видимый индекс столбца

Throws:
Returns:

ячейка

getClickableWebElement

public WebElement getClickableWebElement()

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

Returns:

кликабельный dom-элемент

getColumns

public Columns getColumns()

New in version 1.1.0.

Получить колонки табличного представления.

Throws:
Returns:

объект, содержащий колонки

getDynamicEditor

public WebElement getDynamicEditor()

Получить dom-элемент открытого динамического редактора.

Throws:
Returns:

dom-элемент динамического редактора

getGridMode

public Grid.Mode getGridMode()

New in version 1.1.0.

Получить режим табличного представления.

Returns:

режим табличного представления Grid.Mode

getKeyboardInputWebElement

public Optional<WebElement> getKeyboardInputWebElement()

getOffset

public int getOffset()

New in version 1.1.0.

Получить смещение до первой отображаемой строки. По факту, это абсолютный номер этой строки.

Returns:

номер строки или -1 если не удалось получить

See also

getRowByAbsoluteNumber

public Row getRowByAbsoluteNumber(int absoluteNumber)

New in version 1.1.0.

Получить строку табличного представления по абсолютному номеру строки.

Parameters:
  • absoluteNumber – абсолютный номер строки (число от 0 до getTotalCount() - 1)

Throws:
Returns:

строка

See also

getRowByVisibleIndex

public Row getRowByVisibleIndex(int visibleIndex)

New in version 1.1.0.

Получить строку табличного представления из строк, отображающихся в гриде в текущий момент, по видимому индексу. Видимый индекс – число от 0 до <количество видимых строк> - 1.

Parameters:
  • visibleIndex – видимый индекс (число от 0 до <количество видимых строк> - 1)

Throws:
Returns:

строка

See also

getRows

public Rows getRows()

New in version 1.1.0.

Получить видимые строки табличного представления. Возвращает объект, предоставляющий методы для получения строк.

Returns:

объект строк табличного представления, предоставляющий доступ к видимым строкам

See also

getSelectedColumnVisibleIndex

public int getSelectedColumnVisibleIndex()

New in version 1.1.0.

Получить видимый индекс столбца, в котором находится ячейка в состоянии “фокус”.

Returns:

видимый индекс столбца. -1, если не удалось определить такой столбец.

getSelectedRowAbsoluteNumber

public int getSelectedRowAbsoluteNumber()

New in version 1.1.0.

Получить абсолютный номер строки, в которой находится ячейка в состоянии “фокус”.

Returns:

абсолютный номер строки. -1, если не удалось определить такую строку.

See also

getSelectedRowVisibleIndex

public int getSelectedRowVisibleIndex()

New in version 1.1.0.

Получить видимый индекс строки, в которой находится ячейка в состоянии “фокус”.

Returns:

видимый индекс строки. -1, если не удалось определить такую строку.

See also

getTotalCount

public int getTotalCount()

New in version 1.1.0.

Получить количество записей выборки.

Returns:

количество записей или -1 если не удалось получить количество записей.

See also

getWindowSize

public int getWindowSize()

New in version 1.1.0.

Получить ёмкость окна записей. Ёмкость – это максимальное количество записей выборки, подгруженных в текущий момент в табличное представление.

Следует ожидать, что количество подгруженных записей не равно количеству отображаемых записей.

Returns:

ёмкость окна или -1 если не удалось получить ёмкость.

See also

hasOpenDynamicEditor

public boolean hasOpenDynamicEditor()

Проверяет, если ли в текущий момент у текущего табличного представления открытый динамический редактор.

Returns:

признак существования открытого динамического редактора.

isEditable

public boolean isEditable()

New in version 1.1.0.

Получить признак редактируемости в табличном представлении.

Returns:

признак редактируемости в табличном представлении

isPartialLoaded

public boolean isPartialLoaded()

New in version 1.1.0.

Получить признак неполной загрузки записей выборки.

Returns:

true, если данные списка загружены не полностью.

populateProperties

protected void populateProperties()

Собирает из атрибутов dom-элемента табличного представления свойства табличного представления.

rightClick

public void rightClick()

New in version 1.1.0.

При клике правой кнопкой мыши делаем предварительный клик в табличное представление.

wait

public static Grid wait(Frame parent)

New in version 1.1.0: Метод переименован согласно соглашению по именам (ранее метод назывался find).

Метод выполняет ожидание html-элемента, соответствующего Grid, в дереве html-элементов браузера.

Parameters:
  • parent – родительский фрейм

Returns:

Список

waitForDomStability

public void waitForDomStability()

New in version 1.1.0.

Метод, позволяющий подождать отсутствия изменений графического состояния табличного представления (отсутствие изменений на dom-модели) в течении некоторого предопределенного времени.

Рекомендуется использовать после симуляции взаимодействия пользователя с табличным представлением, которое может привести к асинхронным обращениям к серверу.

waitForDomStability

public void waitForDomStability(Duration duration)

New in version 1.1.0.

Метод, позволяющий подождать отсутствия изменений графического состояния табличного представления (отсутствие изменений на dom-модели) в течении указанного времени.

Рекомендуется использовать после симуляции взаимодействия пользователя с табличным представлением, которое может привести к асинхронным обращениям к серверу.

Parameters:
  • duration – продолжительность времени, в течении которой не должно происходить изменений на dom-дереве

waitTableElement

protected WebElement waitTableElement()