Grid#

public class Grid extends AbstractView implements Clickable, KeyboardInput#

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

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

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

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

  • Получить строку по порядковому номеру можно методом getRowByNumber(int).

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

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

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

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

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

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

  • Получить строку по порядковому индексу можно методом getRowByIndex(int).

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

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 rowIndex, String colAttributeName)#

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

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

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

Throws
Returns

ячейка

getCell#

public Cell getCell(int rowIndex, int colIndex)#

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

Parameters
  • rowIndex – порядковый индекс строки

  • colIndex – порядковый индекс столбца

Throws
Returns

ячейка

getClickableWebElement#

public WebElement getClickableWebElement()#

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

Returns

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

getColumns#

public Columns getColumns()#

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

Throws
Returns

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

getDynamicEditor#

public WebElement getDynamicEditor()#

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

Throws
Returns

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

getGridMode#

public Grid.Mode getGridMode()#

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

Returns

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

getKeyboardInputWebElement#

public Optional<WebElement> getKeyboardInputWebElement()#

getOffset#

public int getOffset()#

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

Returns

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

See also

getRowByIndex#

public Row getRowByIndex(int rowIndex)#

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

Parameters
  • rowIndex – порядковый индекс (число от 0 до <количество отображенных строк> - 1)

Throws
Returns

строка

See also

getRowByNumber#

public Row getRowByNumber(int rowNumber)#

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

Parameters
  • rowNumber – порядковый номер строки (число от 0 до getTotalCount() - 1)

Throws
Returns

строка

See also

getRows#

public Rows getRows()#

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

Returns

объект строк табличного представления

See also

getSelectedColumnIndex#

public int getSelectedColumnIndex()#

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

Returns

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

getSelectedRowIndex#

public int getSelectedRowIndex()#

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

Returns

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

See also

getSelectedRowNumber#

public int getSelectedRowNumber()#

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

Returns

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

See also

getTotalCount#

public int getTotalCount()#

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

Returns

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

See also

getWindowSize#

public int getWindowSize()#

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

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

Returns

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

See also

hasOpenDynamicEditor#

public boolean hasOpenDynamicEditor()#

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

Returns

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

isEditable#

public boolean isEditable()#

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

Returns

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

isPartialLoaded#

public boolean isPartialLoaded()#

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

Returns

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

populateProperties#

protected void populateProperties()#

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

rightClick#

public void rightClick()#

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

wait#

public static Grid wait(Frame parent)#

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

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

Returns

Список

waitForDomStability#

public void waitForDomStability()#

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

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

waitForDomStability#

public void waitForDomStability(Duration duration)#

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

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

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

waitTableElement#

protected WebElement waitTableElement()#