From d0da2985c8af05126f8f610a1b0ae6e377ae4d0d Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 30 Jul 2025 13:17:03 -0700 Subject: [PATCH 1/2] Add more informative errors for null ElementCache --- src/org/labkey/test/components/Component.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/Component.java b/src/org/labkey/test/components/Component.java index 121cf23249..5a528d4df8 100644 --- a/src/org/labkey/test/components/Component.java +++ b/src/org/labkey/test/components/Component.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.function.Function; @@ -69,8 +70,9 @@ protected EC elementCache() // Pass if element doesn't exist. Might be checking if component is visible. } - _elementCache = newElementCache(); + _elementCache = Objects.requireNonNull(newElementCache()); waitForReady(); + Objects.requireNonNull(_elementCache, "waitForReady() cleared the element cache"); } return _elementCache; } From 035d1b7f469a3114539a24f7bba6eaac400e02a2 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 30 Jul 2025 13:20:47 -0700 Subject: [PATCH 2/2] Add NotNull annotations to make IntelliJ happy --- src/org/labkey/test/components/Component.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/components/Component.java b/src/org/labkey/test/components/Component.java index 5a528d4df8..386ed6f99a 100644 --- a/src/org/labkey/test/components/Component.java +++ b/src/org/labkey/test/components/Component.java @@ -16,6 +16,7 @@ package org.labkey.test.components; import org.apache.commons.lang3.NotImplementedException; +import org.jetbrains.annotations.NotNull; import org.labkey.test.Locator; import org.labkey.test.selenium.RefindingWebElement; import org.labkey.test.util.TestLogger; @@ -44,13 +45,13 @@ public String toString() } @Override - public WebElement findElement(By by) + public @NotNull WebElement findElement(@NotNull By by) { return getComponentElement().findElement(by); } @Override - public List findElements(By by) + public @NotNull List findElements(@NotNull By by) { return getComponentElement().findElements(by); } @@ -105,13 +106,13 @@ protected ElementCache() } @Override - public List findElements(By by) + public @NotNull List findElements(@NotNull By by) { return getComponentElement().findElements(by); } @Override - public WebElement findElement(By by) + public @NotNull WebElement findElement(@NotNull By by) { return getComponentElement().findElement(by); }