@@ -49,45 +49,51 @@ void main() {
4949 expect (await context.webDriver.pageSource, contains ('Flutter' ));
5050 });
5151
52- test ('can not launch devtools for the same app in multiple tabs' , () async {
53- var appUrl = await context.webDriver.currentUrl;
54- // Open a new tab, select it, and navigate to the app
55- await context.webDriver.driver
56- .execute ("window.open('$appUrl ', '_blank');" , []);
57- await Future .delayed (const Duration (seconds: 2 ));
58- var windows = await context.webDriver.windows.toList ();
59- var oldAppWindow = windows[0 ];
60- var newAppWindow = windows[1 ];
61- var devToolsWindow = windows[2 ];
62- await newAppWindow.setAsActive ();
63-
64- // Wait for the page to be ready before trying to open DevTools again.
65- await _waitForPageReady (context);
66-
67- // Try to open devtools and check for the alert.
68- await context.webDriver.driver.keyboard.sendChord ([Keyboard .alt, 'd' ]);
69- await Future .delayed (const Duration (seconds: 2 ));
70- var alert = context.webDriver.driver.switchTo.alert;
71- expect (alert, isNotNull);
72- expect (await alert.text,
73- contains ('This app is already being debugged in a different tab' ));
74- await alert.accept ();
75-
76- // Now close the old app and try to re-open devtools.
77- await oldAppWindow.setAsActive ();
78- await oldAppWindow.close ();
79- await devToolsWindow.setAsActive ();
80- await devToolsWindow.close ();
81- await newAppWindow.setAsActive ();
82- await context.webDriver.driver.keyboard.sendChord ([Keyboard .alt, 'd' ]);
83- await Future .delayed (const Duration (seconds: 2 ));
84- windows = await context.webDriver.windows.toList ();
85- devToolsWindow = windows.firstWhere ((window) => window != newAppWindow);
86- await devToolsWindow.setAsActive ();
87- // TODO(grouma): switch back to `fixture.webdriver.title` when
88- // https://github.com/flutter/devtools/issues/2045 is fixed.
89- expect (await context.webDriver.pageSource, contains ('Flutter' ));
90- });
52+ test (
53+ 'can not launch devtools for the same app in multiple tabs' ,
54+ () async {
55+ var appUrl = await context.webDriver.currentUrl;
56+ // Open a new tab, select it, and navigate to the app
57+ await context.webDriver.driver
58+ .execute ("window.open('$appUrl ', '_blank');" , []);
59+ await Future .delayed (const Duration (seconds: 2 ));
60+ var windows = await context.webDriver.windows.toList ();
61+ var oldAppWindow = windows[0 ];
62+ var newAppWindow = windows[1 ];
63+ var devToolsWindow = windows[2 ];
64+ await newAppWindow.setAsActive ();
65+
66+ // Wait for the page to be ready before trying to open DevTools again.
67+ await _waitForPageReady (context);
68+
69+ // Try to open devtools and check for the alert.
70+ await context.webDriver.driver.keyboard.sendChord ([Keyboard .alt, 'd' ]);
71+ await Future .delayed (const Duration (seconds: 2 ));
72+ var alert = context.webDriver.driver.switchTo.alert;
73+ expect (alert, isNotNull);
74+ expect (await alert.text,
75+ contains ('This app is already being debugged in a different tab' ));
76+ await alert.accept ();
77+
78+ // Now close the old app and try to re-open devtools.
79+ await oldAppWindow.setAsActive ();
80+ await oldAppWindow.close ();
81+ await devToolsWindow.setAsActive ();
82+ await devToolsWindow.close ();
83+ await newAppWindow.setAsActive ();
84+ await context.webDriver.driver.keyboard.sendChord ([Keyboard .alt, 'd' ]);
85+ await Future .delayed (const Duration (seconds: 2 ));
86+ windows = await context.webDriver.windows.toList ();
87+ devToolsWindow = windows.firstWhere ((window) => window != newAppWindow);
88+ await devToolsWindow.setAsActive ();
89+ // TODO(grouma): switch back to `fixture.webdriver.title` when
90+ // https://github.com/flutter/devtools/issues/2045 is fixed.
91+ expect (await context.webDriver.pageSource, contains ('Flutter' ));
92+ },
93+ // TODO(elliette): Enable this test once
94+ // https://github.com/dart-lang/webdev/issues/1504 is resolved.
95+ skip: true ,
96+ );
9197
9298 test ('destroys and recreates the isolate during a page refresh' , () async {
9399 // This test is the same as one in reload_test, but runs here when there
0 commit comments