Ошибка в Vaadin TestBench GridElement
Я хочу прочитать тексты всех столбцов строки таблицы. Мой код:
// does not work: t.getFirstVisibleRowIndex()
List<GridColumnElement> columns = t.getAllColumns();
for (int col = 0; col < columns.size(); col++) {
GridColumnElement c = columns.get(col);
String value = t.getCell(rowNumber, col).getText();
texts.put(c.getHeaderCell().getText(), value);
texts.put("#" + (col + 1), value);
}
// vaadin-grid-testbench-6.0.2.jar > GridElement.java
public int getFirstVisibleRowIndex() {
return ((Long) executeScript(
"return arguments[0]._firstVisibleIndex+arguments[0]._vidxOffset",
this)).intValue();
}
Возвращаемое значение executeScript() равно null. Этот метод не является нулевым безопасным.
Трассировки стека:
Исключение в потоке "main" java.lang.NullPointerException: невозможно вызвать "java.lang.Long.intValue()", поскольку возвращаемое значение "com.vaadin.flow.component.grid.testbench.GridElement.executeScript(String, Object[])" имеет значение null
в com.vaadin.flow.component.grid.testbench.GridElement.getFirstVisibleRowIndex(GridElement.java:73)
в com.vaadin.flow.component.grid.testbench.GridElement.isRowInView(GridElement.java:176)
в com.vaadin.flow.component.grid.testbench.GridElement.getCell(GridElement.java:116)
в com.vaadin.flow.component.grid.testbench.GridElement.getCell(GridElement.java:101)
Ява 17 (Темурин)
Решение
Если я изменюсьString value = t.getCell(rowNumber, col).getText();
кString value = t.getRow(rowNumber).getCell(c).getText();
оно работает. Это ошибка getCell(row, col)?