Skip to content

Commit 5f3b5db

Browse files
authored
test: align waitForNavigation test with upstream (#1250)
1 parent bc50392 commit 5f3b5db

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

playwright/src/test/java/com/microsoft/playwright/TestPageWaitForNavigation.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,16 +241,18 @@ void shouldFailWhenFrameDetaches() throws InterruptedException {
241241
page.navigate(server.PREFIX + "/frames/one-frame.html");
242242
Frame frame = page.frames().get(1);
243243
server.setRoute("/empty.html", exchange -> {});
244+
server.setRoute("/one-style.css", exchange -> {});
244245
PlaywrightException ex = assertThrows(PlaywrightException.class, () -> {
245246
frame.waitForNavigation(() -> {
246-
Future<Server.Request> req = server.futureRequest("/empty.html");
247-
page.evalOnSelector("iframe", "frame => { frame.contentWindow.location.href = '/empty.html'; }");
247+
Future<Server.Request> req = server.futureRequest("/one-style.css");
248+
page.evalOnSelector("iframe", "frame => { frame.contentWindow.location.href = '/one-style.html'; }");
248249
try {
250+
// Make sure policy checks pass and navigation actually begins before removing the frame to avoid other errors
249251
req.get();
250252
} catch (InterruptedException | ExecutionException e) {
251253
throw new RuntimeException(e);
252254
}
253-
page.evaluate("setTimeout(() => document.querySelector('iframe').remove());");
255+
page.evalOnSelector("iframe", "frame => setTimeout(() => frame.remove(), 0)");
254256
});
255257
});
256258
assertTrue(ex.getMessage().contains("frame was detached"), ex.getMessage());

0 commit comments

Comments
 (0)