diff options
author | Artur <artur@vaadin.com> | 2018-01-05 15:13:55 +0200 |
---|---|---|
committer | Olli Tietäväinen <ollit@vaadin.com> | 2018-01-05 15:13:55 +0200 |
commit | f1039e892ca4d40e7ed441264f1d35b30733d679 (patch) | |
tree | a8a7853a28d6bcf25192a5c1c18392f5fa79a673 /uitest/src/test | |
parent | 900463c44acdef7ad5acec4de5203b6fd37fd4f3 (diff) | |
download | vaadin-framework-f1039e892ca4d40e7ed441264f1d35b30733d679.tar.gz vaadin-framework-f1039e892ca4d40e7ed441264f1d35b30733d679.zip |
Fix scrolling problem in table in Chrome 56+ (#10492)
* Fix scrolling problem in table in Chrome 56+
Fixes #8707
* Remove commented code
Diffstat (limited to 'uitest/src/test')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java new file mode 100644 index 0000000000..b078d00162 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java @@ -0,0 +1,48 @@ +package com.vaadin.tests.components.table; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class TableScrollsOnRefreshTest extends MultiBrowserTest { + + @Test + public void ensureNoScrolling() throws InterruptedException { + openTestURL(); + TableElement table = $(TableElement.class).first(); + table.scroll(10000); + sleep(500); // wait for both data requests + String firstCellText = getFirstVisibleCell(table).getText(); + + ButtonElement refresh = $(ButtonElement.class).first(); + refresh.click(); + sleep(500); // wait for both data requests + Assert.assertEquals(firstCellText, + getFirstVisibleCell(table).getText()); + + refresh.click(); + sleep(500); // wait for both data requests + Assert.assertEquals(firstCellText, + getFirstVisibleCell(table).getText()); + } + + private WebElement getFirstVisibleCell(TableElement table) { + int tableBodyTop = table.findElement(By.className("v-table-body")) + .getLocation().getY(); + List<WebElement> cells = table + .findElements(By.className("v-table-cell-content")); + for (WebElement cell : cells) { + if (cell.getLocation().getY() > tableBodyTop) { + return cell; + } + } + return null; + } +} |