Class GridElement

  • All Implemented Interfaces:
    com.vaadin.testbench.commands.CanCompareScreenshots, com.vaadin.testbench.HasCallFunction, com.vaadin.testbench.HasDriver, com.vaadin.testbench.HasElementQuery, com.vaadin.testbench.HasPropertySettersGetters, com.vaadin.testbench.HasSearchContext, com.vaadin.testbench.HasTestBenchCommandExecutor, org.openqa.selenium.SearchContext, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.WebElement, org.openqa.selenium.WrapsElement
    Direct Known Subclasses:
    TreeGridElement

    public class GridElement
    extends com.vaadin.testbench.TestBenchElement
    A TestBench element representing a <vaadin-grid> element.
    • Constructor Summary

      Constructors 
      Constructor Description
      GridElement()  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void clickSelectAll()
      Click select all check box
      void deselect​(int rowIndex)
      Deselects the row with the given index.
      List<org.openqa.selenium.WebElement> findInShadowRoot​(org.openqa.selenium.By by)
      Deprecated.
      this method will not working for Chrome 96+, because of the breaking changes in ChromeDriver.
      protected void generatedColumnIdsIfNeeded()  
      List<GridColumnElement> getAllColumns()
      Gets all columns defined for the grid, including any selection checkbox column.
      GridTHTDElement getCell​(int rowIndex, int colIndex)
      Gets the grid cell for the given row and column index.
      GridTHTDElement getCell​(int rowIndex, GridColumnElement column)
      Gets the grid cell for the given row and column.
      GridTHTDElement getCell​(String contents)
      Finds the first cell inside the rendered range with a text content matching the given string.
      List<GridTHTDElement> getCells​(int rowIndex)
      Gets the grid cells for the given row.
      List<GridTHTDElement> getCells​(int rowIndex, GridColumnElement... columnElements)
      Gets the grid cells for the given row and column elements.
      GridColumnElement getColumn​(String headerText)
      Gets the column with the given header text.
      int getFirstVisibleRowIndex()
      Gets the index of the first row which is at least partially visible.
      GridTHTDElement getFooterCell​(int columnIndex)
      Gets the footer cell for the given visible column index.
      GridTHTDElement getHeaderCell​(int columnIndex)
      Gets the header cell for the given visible column index.
      com.vaadin.testbench.TestBenchElement getHeaderCellContent​(int rowIndex, int columnIndex)
      Finds the vaadin-grid-cell-content element for the given row and column in header.
      int getLastVisibleRowIndex()
      Gets the index of the last row which is at least partially visible.
      int getPageSize()
      Gets the page size used when fetching data.
      GridTRElement getRow​(int rowIndex)
      Gets the tr element for the given row index.
      int getRowCount()
      Gets the total number of rows.
      List<GridTRElement> getRows​(int firstRowIndex, int lastRowIndex)
      Gets the rows (present in the DOM) specified by the lower and upper row indexes.
      List<GridColumnElement> getVisibleColumns()
      Gets the currently visible columns in the grid, including any selection checkbox column.
      List<GridTRElement> getVisibleRows()
      Gets all the currently visible rows.
      protected boolean isLoading()  
      void scrollToRow​(int row)
      Scrolls to the row with the given index.
      void select​(int rowIndex)
      Selects the row with the given index.
      protected void waitUntilLoadingFinished()  
      • Methods inherited from class com.vaadin.testbench.TestBenchElement

        callFunction, clear, click, click, compareScreen, compareScreen, compareScreen, contextClick, dispatchEvent, dispatchEvent, doubleClick, equals, executeScript, findElement, findElements, focus, getAttribute, getCapabilities, getChildren, getClassNames, getCommandExecutor, getContext, getCssValue, getDriver, getId, getLocation, getParent, getProperty, getPropertyBoolean, getPropertyDouble, getPropertyElement, getPropertyElements, getPropertyInteger, getPropertyString, getRect, getScreenshotAs, getShadowRoot, getSize, getTagName, getText, getWrappedElement, hasAttribute, hasClassName, hashCode, hover, init, init, isChrome, isDisplayed, isEnabled, isFirefox, isFocused, isReadOnly, isSelected, scroll, scrollIntoView, scrollLeft, sendKeys, setProperty, setProperty, setProperty, setProperty, submit, waitForVaadin, waitUntil, waitUntil, wrap, wrapElement, wrapElements
      • Methods inherited from interface com.vaadin.testbench.HasElementQuery

        $, $
      • Methods inherited from interface org.openqa.selenium.WebElement

        getAccessibleName, getAriaRole, getDomAttribute, getDomProperty
    • Constructor Detail

      • GridElement

        public GridElement()
    • Method Detail

      • waitUntilLoadingFinished

        protected void waitUntilLoadingFinished()
      • isLoading

        protected boolean isLoading()
      • scrollToRow

        public void scrollToRow​(int row)
        Scrolls to the row with the given index.
        Parameters:
        row - the row to scroll to
      • getPageSize

        public int getPageSize()
        Gets the page size used when fetching data.
        Returns:
        the page size
      • getFirstVisibleRowIndex

        public int getFirstVisibleRowIndex()
        Gets the index of the first row which is at least partially visible.
        Returns:
        the index of the first visible row
      • getRowCount

        public int getRowCount()
        Gets the total number of rows.
        Returns:
        the number of rows
      • getCell

        public GridTHTDElement getCell​(int rowIndex,
                                       int colIndex)
        Gets the grid cell for the given row and column index.

        For the column index, only visible columns are taken into account.

        Automatically scrolls the given row into view

        Parameters:
        rowIndex - the row index
        colIndex - the column index
        Returns:
        the grid cell for the given coordinates
      • getCell

        public GridTHTDElement getCell​(int rowIndex,
                                       GridColumnElement column)
        Gets the grid cell for the given row and column.

        Automatically scrolls the given row into view

        Parameters:
        rowIndex - the row index
        column - the column element for the column
        Returns:
        the grid cell for the given coordinates
      • getCell

        public GridTHTDElement getCell​(String contents)
                                throws org.openqa.selenium.NoSuchElementException
        Finds the first cell inside the rendered range with a text content matching the given string.
        Parameters:
        contents - the string to look for
        Returns:
        a grid cell containing the given string
        Throws:
        org.openqa.selenium.NoSuchElementException - if no cell with the given string was found
      • getLastVisibleRowIndex

        public int getLastVisibleRowIndex()
        Gets the index of the last row which is at least partially visible.
        Returns:
        the index of the last visible row
      • getRows

        public List<GridTRElement> getRows​(int firstRowIndex,
                                           int lastRowIndex)
                                    throws IndexOutOfBoundsException
        Gets the rows (present in the DOM) specified by the lower and upper row indexes.
        Parameters:
        firstRowIndex - the lower row index to be retrieved (inclusive)
        lastRowIndex - the upper row index to be retrieved (inclusive)
        Returns:
        a GridTRElement list with the rows contained between the given coordinates.
        Throws:
        IndexOutOfBoundsException - if either of the provided row indexes do not exist
      • getAllColumns

        public List<GridColumnElement> getAllColumns()
        Gets all columns defined for the grid, including any selection checkbox column.
        Returns:
        a list of grid column elements which can be used to refer to the given column
      • generatedColumnIdsIfNeeded

        protected void generatedColumnIdsIfNeeded()
      • getVisibleColumns

        public List<GridColumnElement> getVisibleColumns()
        Gets the currently visible columns in the grid, including any selection checkbox column.
        Returns:
        a list of grid column elements which can be used to refer to the given column
      • getColumn

        public GridColumnElement getColumn​(String headerText)
                                    throws org.openqa.selenium.NoSuchElementException
        Gets the column with the given header text.

        If multiple columns are found with the same header text, returns the first column.

        Parameters:
        headerText - the text in the header
        Returns:
        the grid column element for the given column
        Throws:
        org.openqa.selenium.NoSuchElementException - if no column was found
      • getHeaderCell

        public GridTHTDElement getHeaderCell​(int columnIndex)
        Gets the header cell for the given visible column index.
        Parameters:
        columnIndex - the index of the column
        Returns:
        a cell element for the header cell
      • getHeaderCellContent

        public com.vaadin.testbench.TestBenchElement getHeaderCellContent​(int rowIndex,
                                                                          int columnIndex)
        Finds the vaadin-grid-cell-content element for the given row and column in header.
        Parameters:
        rowIndex - the index of the row in the header
        columnIndex - the index of the column in the header
        Returns:
        the vaadin-grid-cell-content element for the given row and column in header.
      • findInShadowRoot

        @Deprecated
        public List<org.openqa.selenium.WebElement> findInShadowRoot​(org.openqa.selenium.By by)
        Deprecated.
        this method will not working for Chrome 96+, because of the breaking changes in ChromeDriver.
        Find all WebElements using the given By selector.
        Parameters:
        by - the selector used to find elements
        Returns:
        a list of found elements
      • getFooterCell

        public GridTHTDElement getFooterCell​(int columnIndex)
        Gets the footer cell for the given visible column index.
        Parameters:
        columnIndex - the index of the column
        Returns:
        a cell element for the footer cell
      • select

        public void select​(int rowIndex)
        Selects the row with the given index.
        Parameters:
        rowIndex - the row to select
      • deselect

        public void deselect​(int rowIndex)
        Deselects the row with the given index.
        Parameters:
        rowIndex - the row to deselect
      • clickSelectAll

        public void clickSelectAll()
        Click select all check box
      • getVisibleRows

        public List<GridTRElement> getVisibleRows()
        Gets all the currently visible rows.
        Returns:
        a GridTRElement list representing the currently visible rows.
      • getCells

        public List<GridTHTDElement> getCells​(int rowIndex,
                                              GridColumnElement... columnElements)
        Gets the grid cells for the given row and column elements.
        Parameters:
        rowIndex - the row index
        columnElements - the column elements
        Returns:
        a GridTHTDElement list with the cells for the given coordinates.
      • getCells

        public List<GridTHTDElement> getCells​(int rowIndex)
        Gets the grid cells for the given row.
        Parameters:
        rowIndex - the row index
        Returns:
        a GridTHTDElement list with the cells for the given coordinates.