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)

New in version 1.1.0.

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

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

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

Throws:
Returns:

ячейка

getCell

public Cell getCell(int rowIndex, int colIndex)

New in version 1.1.0.

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

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

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

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

getRowByIndex

public Row getRowByIndex(int rowIndex)

New in version 1.1.0.

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

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

Throws:
Returns:

строка

See also

getRowByNumber

public Row getRowByNumber(int rowNumber)

New in version 1.1.0.

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

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

Throws:
Returns:

строка

See also

getRows

public Rows getRows()

New in version 1.1.0.

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

Returns:

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

See also

getSelectedColumnIndex

public int getSelectedColumnIndex()

New in version 1.1.0.

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

Returns:

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

getSelectedRowIndex

public int getSelectedRowIndex()

New in version 1.1.0.

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

Returns:

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

See also

getSelectedRowNumber

public int getSelectedRowNumber()

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