From 528afe01c13fc1d1d5602f6c60131a44b4474b81 Mon Sep 17 00:00:00 2001 From: cnathe Date: Wed, 15 Apr 2026 16:40:09 -0500 Subject: [PATCH 1/3] SubNavBar param for startsWith instead of withText for tab label finder --- .../components/ui/navigation/SubNavBar.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/org/labkey/test/components/ui/navigation/SubNavBar.java b/src/org/labkey/test/components/ui/navigation/SubNavBar.java index e6e98cb4a9..ef05d7e8b0 100644 --- a/src/org/labkey/test/components/ui/navigation/SubNavBar.java +++ b/src/org/labkey/test/components/ui/navigation/SubNavBar.java @@ -37,12 +37,17 @@ static public SubNavBarFinder finder(WebDriver driver) public boolean hasTab(String tabText) { - return getWrapper().isElementPresent(elementCache().getTabLocator(tabText)); + return getWrapper().isElementPresent(elementCache().getTabLocator(tabText, false)); } public void clickTab(String tabText) { - elementCache().getTab(tabText).click(); + clickTab(tabText, false); + } + + public void clickTab(String tabText, boolean startsWithText) + { + elementCache().getTab(tabText, startsWithText).click(); } public String getActiveTab() @@ -101,15 +106,17 @@ protected class ElementCache extends Component.ElementCache WebElement tabScrollContainer = Locator.tagWithClass("div", "tab-scroll-ct").findWhenNeeded(this); WebElement activeTab = Locator.css("ul.navbar-nav > li.active").findWhenNeeded(this); - Locator.XPathLocator getTabLocator(String text) + Locator.XPathLocator getTabLocator(String text, boolean startsWithText) { - return Locator.tagWithClass("ul", "nav navbar-nav") - .child(Locator.tag("li")).withText(text); + Locator.XPathLocator loc = Locator.tagWithClass("ul", "nav navbar-nav").child(Locator.tag("li")); + if (startsWithText) + return loc.startsWith(text); + return loc.withText(text); } - WebElement getTab(String text) + WebElement getTab(String text, boolean startsWithText) { - return getTabLocator(text).findElement(this); + return getTabLocator(text, startsWithText).findElement(this); } } From 411608c57b0418609ab0d0552751e228567edfb0 Mon Sep 17 00:00:00 2001 From: cnathe Date: Thu, 16 Apr 2026 10:17:41 -0500 Subject: [PATCH 2/3] Locator.byClass instead of Locator.tagWithClass --- .../labkey/test/components/ui/edit/EditInlineField.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/components/ui/edit/EditInlineField.java b/src/org/labkey/test/components/ui/edit/EditInlineField.java index d093871956..c5e2b78978 100644 --- a/src/org/labkey/test/components/ui/edit/EditInlineField.java +++ b/src/org/labkey/test/components/ui/edit/EditInlineField.java @@ -110,15 +110,15 @@ protected ElementCache newElementCache() protected class ElementCache extends Component.ElementCache { - final WebElement label = Locator.tagWithClass("span", "edit-inline-field__label") + final WebElement label = Locator.byClass("edit-inline-field__label") .refindWhenNeeded(this); - final Locator toggleLoc = Locator.tagWithClass("span", "edit-inline-field__toggle"); + final Locator toggleLoc = Locator.byClass("edit-inline-field__toggle"); final Locator pencilLoc = Locator.tagWithClass("i", "fa-pencil"); final WebElement input = Locator.css("input.form-control, input.select-input__input, textarea.form-control").refindWhenNeeded(this); WebElement placeholderElement() { - return Locator.tagWithClass("span", "edit-inline-field__placeholder") + return Locator.byClass("edit-inline-field__placeholder") .findElement(this); } @@ -166,7 +166,7 @@ protected Locator locator() { if (_label != null) return _baseLocator.withChild( - Locator.tagWithClass("span", "edit-inline-field__label") + Locator.byClass("edit-inline-field__label") .containing(_label)); else return _baseLocator; From 3ce066a37d0336d165d1d802f683c584d6f3d9d7 Mon Sep 17 00:00:00 2001 From: cnathe Date: Thu, 16 Apr 2026 16:17:15 -0500 Subject: [PATCH 3/3] protected -> public --- src/org/labkey/test/components/ui/edit/EditInlineField.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/ui/edit/EditInlineField.java b/src/org/labkey/test/components/ui/edit/EditInlineField.java index c5e2b78978..155c20547a 100644 --- a/src/org/labkey/test/components/ui/edit/EditInlineField.java +++ b/src/org/labkey/test/components/ui/edit/EditInlineField.java @@ -15,7 +15,7 @@ public class EditInlineField extends WebDriverComponent