]> source.dussan.org Git - vaadin-framework.git/commitdiff
GridThemeUITest fix (#12470)
authorAnna Koskinen <Ansku@users.noreply.github.com>
Wed, 3 Nov 2021 15:26:26 +0000 (17:26 +0200)
committerGitHub <noreply@github.com>
Wed, 3 Nov 2021 15:26:26 +0000 (17:26 +0200)
Attempt to stabilize the screenshot comparison by ensuring that the
editor is fully opened.

uitest/src/test/java/com/vaadin/v7/tests/components/grid/GridThemeUITest.java

index ccb5f10df2fbede8775eee4ec36d6b5611f3b1f8..519a01241460355d3f1ff4e9d08bac4945320a7a 100644 (file)
@@ -3,8 +3,10 @@ package com.vaadin.v7.tests.components.grid;
 import org.junit.Test;
 import org.openqa.selenium.By;
 import org.openqa.selenium.Keys;
+import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.interactions.Actions;
+import org.openqa.selenium.support.ui.ExpectedCondition;
 
 import com.vaadin.testbench.elements.ButtonElement;
 import com.vaadin.testbench.elements.DateFieldElement;
@@ -76,7 +78,25 @@ public class GridThemeUITest extends MultiBrowserThemeTest {
             new Actions(getDriver()).doubleClick(targetCell).perform();
             waitForElementPresent(By.className("v-grid-editor"));
         }
-
+        WebElement editor = findElement(By.className("v-grid-editor"));
+        waitUntil(new ExpectedCondition<Boolean>() {
+            @Override
+            public Boolean apply(WebDriver arg0) {
+                int current = editor.getSize().getHeight();
+                // it's actually expected to be the height of two rows plus one
+                // pixel, but giving it 2 pixels of leeway
+                int expected = targetCell.getSize().getHeight() * 2 - 1;
+                return current >= expected;
+            }
+
+            @Override
+            public String toString() {
+                // Expected condition failed: waiting for ...
+                return "editor to become visible, current height: "
+                        + editor.getSize().getHeight() + ", row height: "
+                        + targetCell.getSize().getHeight();
+            }
+        });
     }
 
     private void selectPage(String string) {