From ca622d3f10e9f4c432081ef0dc3b1c3f1d081a63 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Sun, 7 May 2023 19:37:26 -0500 Subject: [PATCH] Add highlight of the element we're trying to click --- .../qqq/materialdashboard/lib/QSeleniumLib.java | 12 ++++++++++++ .../materialdashboard/tests/SavedFiltersTest.java | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/src/test/java/com/kingsrook/qqq/materialdashboard/lib/QSeleniumLib.java b/src/test/java/com/kingsrook/qqq/materialdashboard/lib/QSeleniumLib.java index e04a9b7..d53692e 100755 --- a/src/test/java/com/kingsrook/qqq/materialdashboard/lib/QSeleniumLib.java +++ b/src/test/java/com/kingsrook/qqq/materialdashboard/lib/QSeleniumLib.java @@ -9,6 +9,7 @@ import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.OutputType; import org.openqa.selenium.StaleElementReferenceException; import org.openqa.selenium.WebDriver; @@ -261,6 +262,17 @@ public class QSeleniumLib + /******************************************************************************* + ** + *******************************************************************************/ + public void highlightElement(WebElement element) + { + JavascriptExecutor js = (JavascriptExecutor) driver; + js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 3px solid red;');", element); + } + + + @FunctionalInterface public interface Code { diff --git a/src/test/java/com/kingsrook/qqq/materialdashboard/tests/SavedFiltersTest.java b/src/test/java/com/kingsrook/qqq/materialdashboard/tests/SavedFiltersTest.java index deedbf4..a3cb480 100755 --- a/src/test/java/com/kingsrook/qqq/materialdashboard/tests/SavedFiltersTest.java +++ b/src/test/java/com/kingsrook/qqq/materialdashboard/tests/SavedFiltersTest.java @@ -29,6 +29,7 @@ import com.kingsrook.qqq.materialdashboard.lib.javalin.CapturedContext; import com.kingsrook.qqq.materialdashboard.lib.javalin.QSeleniumJavalin; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; import static com.kingsrook.qqq.materialdashboard.tests.QueryScreenTest.addQueryFilterInput; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -95,6 +96,9 @@ public class SavedFiltersTest extends QBaseSeleniumTest ////////////////////////////// qSeleniumLib.takeScreenshotToFile("before-johnny-click"); qSeleniumLib.waitForSeconds(1); // wait for the filters menu to fully disappear? if this doesn't work, try a different word to look for... + WebElement webElement = qSeleniumLib.waitForSelectorContaining("DIV.MuiDataGrid-cell", "jdoe@kingsrook.com"); + qSeleniumLib.highlightElement(webElement); + qSeleniumLib.takeScreenshotToFile("after-johnny-highlight"); qSeleniumLib.waitForSelectorContaining("DIV.MuiDataGrid-cell", "jdoe@kingsrook.com").click(); qSeleniumLib.takeScreenshotToFile("after-johnny-click"); qSeleniumLib.waitForSelectorContaining("H5", "Viewing Person: John Doe");