Skip to content

Commit ab3077d

Browse files
committed
added 2 new tests for shadow dom
1 parent 4cdb353 commit ab3077d

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

framework-tests/bellatrix.web.tests/src/test/java/controls/shadowdom/ShadowDomTests.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
import org.junit.jupiter.api.BeforeEach;
66
import org.junit.jupiter.api.Test;
77
import org.openqa.selenium.NoSuchElementException;
8+
import org.testng.asserts.Assertion;
89
import solutions.bellatrix.core.configuration.ConfigurationService;
910
import solutions.bellatrix.web.components.Anchor;
1011
import solutions.bellatrix.web.components.Div;
1112
import solutions.bellatrix.web.components.Select;
1213
import solutions.bellatrix.web.components.advanced.grid.Grid;
1314
import solutions.bellatrix.web.components.advanced.grid.GridCell;
1415
import solutions.bellatrix.web.components.shadowdom.ShadowRoot;
16+
import solutions.bellatrix.web.configuration.WebSettings;
1517
import solutions.bellatrix.web.infrastructure.Browser;
1618
import solutions.bellatrix.web.infrastructure.ExecutionBrowser;
1719
import solutions.bellatrix.web.infrastructure.Lifecycle;
@@ -127,5 +129,37 @@ public void returnedEmptyList_when_tryingToFindNonExistentElements() {
127129
);
128130
}
129131

132+
@Test
133+
public void waitedTimeout_when_tryingToFindNonExistentElement() {
134+
var shadowHost = app().create().byId(Div.class, "complexShadowHost");
135+
var shadowRoot = shadowHost.getShadowRoot();
136+
137+
long startTime = System.currentTimeMillis();
138+
try {
139+
shadowRoot.createByXPath(Div.class, "//nonExistentElement");
140+
} catch (NoSuchElementException ignored) {
141+
var elapsedTime = System.currentTimeMillis() - startTime;
142+
143+
Assertions.assertTrue(elapsedTime > ConfigurationService.get(WebSettings.class).getTimeoutSettings().getElementWaitTimeout()*1000);
144+
}
145+
}
146+
147+
@Test
148+
public void returnedEmptyListWithoutWaiting_when_tryingToFindNonExistentElements() {
149+
var shadowHost = app().create().byId(Div.class, "complexShadowHost");
150+
var shadowRoot = shadowHost.getShadowRoot();
151+
152+
long startTime = System.currentTimeMillis();
153+
154+
var isEmpty = shadowRoot.createAllByXPath(Div.class, "//nonExistentElement").isEmpty();
155+
156+
var elapsedTime = System.currentTimeMillis() - startTime;
157+
158+
Assertions.assertAll(
159+
() -> Assertions.assertTrue(isEmpty),
160+
() -> Assertions.assertTrue(elapsedTime < ConfigurationService.get(WebSettings.class).getTimeoutSettings().getElementWaitTimeout()*1000)
161+
);
162+
}
163+
130164
// TODO: Test Relative Finding of Elements
131165
}

0 commit comments

Comments
 (0)