From 1a2b46556a7869a37b06b09cc156347af78fab39 Mon Sep 17 00:00:00 2001 From: Chris Joosse Date: Mon, 20 Nov 2023 17:04:35 -0800 Subject: [PATCH] await menu close if not navigating --- .../labkey/test/components/html/BootstrapMenu.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/org/labkey/test/components/html/BootstrapMenu.java b/src/org/labkey/test/components/html/BootstrapMenu.java index aa99e003d2..1c011e544c 100644 --- a/src/org/labkey/test/components/html/BootstrapMenu.java +++ b/src/org/labkey/test/components/html/BootstrapMenu.java @@ -20,6 +20,7 @@ import org.labkey.test.components.react.BaseBootstrapMenu; import org.labkey.test.util.LogMethod; import org.labkey.test.util.LoggedParam; +import org.openqa.selenium.StaleElementReferenceException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -110,6 +111,18 @@ public void clickSubMenu(int timeout, @LoggedParam String ... subMenuLabels) getWrapper().scrollIntoView(item); getWrapper().clickAndWait(item, timeout); + + if (0 == timeout) // if we aren't waiting to navigate, wait for the menu to close + WebDriverWrapper.waitFor(()-> { + try + { + return !isExpanded(); + } + catch (StaleElementReferenceException success) + { + return true; + } + }, 1000); } @LogMethod(quiet = true)