File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed
playwright/src/test/java/com/microsoft/playwright Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff 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 ());
You can’t perform that action at this time.
0 commit comments