@@ -104,150 +104,6 @@ async def test_browser_type_name_should_work(
104104 raise ValueError ("Unknown browser" )
105105
106106
107- @pytest .mark .skip ()
108- async def test_browser_is_connected_should_set_connected_state (
109- browser_type , launch_arguments
110- ):
111- browser_server = await browser_type .launchServer (** launch_arguments )
112- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
113- assert remote .isConnected ()
114- await remote .close ()
115- assert remote .isConnected () is False
116- await browser_server .close ()
117-
118-
119- @pytest .mark .skip ()
120- async def test_browser_is_connected_should_throw_when_used_after_isConnected_returns_false (
121- browser_type , launch_arguments
122- ):
123- browser_server = await browser_type .launchServer (** launch_arguments )
124- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
125- page = await remote .newPage ()
126- disconnected_future = asyncio .Future ()
127- remote .once ("disconnected" , lambda : disconnected_future .set_result (None ))
128- await asyncio .gather (browser_server .close (), disconnected_future )
129- assert remote .isConnected () is False
130- with pytest .raises (Error ) as exc :
131- await page .evaluate ('"1 + 1"' )
132- assert "has been closed" in exc .value .message
133-
134-
135- @pytest .mark .skip ()
136- async def test_browser_disconnect_should_reject_navigation_when_browser_closes (
137- browser_type , launch_arguments , server
138- ):
139- server .set_route ("/one-style.css" , lambda r : None )
140- browser_server = await browser_type .launchServer (** launch_arguments )
141- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
142- page = await remote .newPage ()
143-
144- async def handle_goto ():
145- with pytest .raises (Error ) as exc :
146- await page .goto (server .PREFIX + "/one-style.html" , timeout = 60000 )
147- assert "Navigation failed because page was closed!" in exc .value .message
148-
149- wait_for_request = asyncio .create_task (server .wait_for_request ("/one-style.css" ))
150- goto_assert = asyncio .create_task (handle_goto ())
151- await wait_for_request
152- await remote .close ()
153- await goto_assert
154- await browser_server .close ()
155-
156-
157- @pytest .mark .skip ()
158- async def test_browser_disconnect_should_reject_waitForSelector_when_browser_closes (
159- browser_type , launch_arguments , server
160- ):
161- server .set_route ("/empty.html" , lambda r : None )
162- browser_server = await browser_type .launchServer (** launch_arguments )
163- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
164- page = await remote .newPage ()
165- wait_for_selector_future = asyncio .Future ()
166-
167- async def handle_wait_for_selector ():
168- try :
169- await page .waitForSelector ("div" , state = "attached" , timeout = 60000 )
170- except Error as exc :
171- wait_for_selector_future .set_result (exc )
172-
173- # Make sure the previous waitForSelector has time to make it to the browser before we disconnect.
174- asyncio .create_task (handle_wait_for_selector ())
175- await asyncio .sleep (0 ) # execute scheduled tasks, but don't await them
176- await page .waitForSelector ("body" , state = "attached" )
177-
178- await remote .close ()
179- error = await wait_for_selector_future
180- assert "Protocol error" in error .message
181- await browser_server .close ()
182-
183-
184- @pytest .mark .skip ()
185- async def test_browser_disconnect_should_throw_if_used_after_disconnect (
186- browser_type , launch_arguments
187- ):
188- browser_server = await browser_type .launchServer (** launch_arguments )
189- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
190- page = await remote .newPage ()
191- await remote .close ()
192- with pytest .raises (Error ) as exc :
193- await page .evaluate ('"1 + 1"' )
194- assert "has been closed" in exc .value .message
195- await browser_server .close ()
196-
197-
198- @pytest .mark .skip ()
199- async def test_browser_disconnect_should_emit_close_events_on_pages_and_contexts (
200- browser_type , launch_arguments
201- ):
202- browser_server = await browser_type .launchServer (** launch_arguments )
203- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
204- context = await remote .newContext ()
205- page = await context .newPage ()
206- pages_closed = []
207- page .on ("close" , lambda : pages_closed .append (True ))
208- context_close_fixture = asyncio .Future ()
209- context .on ("close" , lambda : context_close_fixture .set_result (None ))
210- await asyncio .gather (context_close_fixture , browser_server .close ())
211- assert len (pages_closed ) == 1
212-
213-
214- @pytest .mark .skip ()
215- async def test_browser_close_should_terminate_network_waiters (
216- browser_type , launch_arguments , server
217- ):
218- browser_server = await browser_type .launchServer (** launch_arguments )
219- remote = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
220- new_page = await remote .newPage ()
221- wait_for_request_future = asyncio .Future ()
222-
223- async def handle_waitForRequest ():
224- try :
225- await new_page .waitForRequest (server .EMPTY_PAGE )
226- except Error as exc :
227- wait_for_request_future .set_result (exc )
228-
229- wait_for_response_future = asyncio .Future ()
230-
231- async def handle_waitForResponse ():
232- try :
233- await new_page .waitForResponse (server .EMPTY_PAGE )
234- except Error as exc :
235- wait_for_response_future .set_result (exc )
236-
237- asyncio .create_task (handle_waitForRequest ())
238- asyncio .create_task (handle_waitForResponse ())
239- await asyncio .sleep (0 ) # execute scheduled tasks, but don't await them
240- results = await asyncio .gather (
241- wait_for_request_future ,
242- wait_for_response_future ,
243- browser_server .close (),
244- )
245- for i in range (2 ):
246- message = results [i ].message
247- assert "Page closed" in message
248- assert "Timeout" not in message
249-
250-
251107async def test_browser_close_should_fire_close_event_for_all_contexts (
252108 browser_type , launch_arguments
253109):
@@ -266,78 +122,3 @@ async def test_browser_close_should_be_callable_twice(browser_type, launch_argum
266122 browser .close (),
267123 )
268124 await browser .close ()
269-
270-
271- @pytest .mark .skip ()
272- async def test_browser_type_launch_server_should_work (browser_type , launch_arguments ):
273- browser_server = await browser_type .launchServer (** launch_arguments )
274- browser = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
275- browser_context = await browser .newContext ()
276- assert len (browser_context .pages ) == 0
277- assert browser_server .wsEndpoint
278- page = await browser_context .newPage ()
279- assert await page .evaluate ("11 * 11" ) == 121
280- await page .close ()
281- await browser .close ()
282- await browser_server .close ()
283-
284-
285- @pytest .mark .skip ()
286- async def test_browser_type_launch_server_should_fire_disconnected_when_closing_the_server (
287- browser_type , launch_arguments
288- ):
289- browser_server = await browser_type .launchServer (** launch_arguments )
290- browser = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
291-
292- disconnected_promise = asyncio .Future ()
293- browser .once ("disconnected" , lambda : disconnected_promise .set_result (None ))
294-
295- closed_promise = asyncio .Future ()
296- browser_server .on ("close" , lambda : closed_promise .set_result (None ))
297-
298- await browser_server .kill ()
299- await asyncio .gather (
300- disconnected_promise ,
301- closed_promise ,
302- )
303-
304-
305- @pytest .mark .skip ()
306- async def test_browser_type_launch_server_should_fire_close_event_during_kill (
307- browser_type , launch_arguments
308- ):
309- order = []
310- browser_server = await browser_type .launchServer (** launch_arguments )
311-
312- closed_promise = asyncio .Future ()
313- browser_server .on (
314- "close" , lambda : (order .append ("closed" ), closed_promise .set_result (None ))
315- )
316-
317- async def kill_with_order ():
318- await browser_server .kill ()
319- order .append ("killed" )
320-
321- await asyncio .gather (kill_with_order (), closed_promise )
322- assert order == ["closed" , "killed" ]
323-
324-
325- @pytest .mark .skip ()
326- async def test_browser_type_connect_should_be_able_to_reconnect_to_a_browser (
327- browser_type , launch_arguments , server
328- ):
329- browser_server = await browser_type .launchServer (** launch_arguments )
330-
331- browser = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
332- browser_context = await browser .newContext ()
333- page = await browser_context .newPage ()
334- await page .goto (server .EMPTY_PAGE )
335- await browser .close ()
336-
337- browser = await browser_type .connect (wsEndpoint = browser_server .wsEndpoint )
338- browser_context = await browser .newContext ()
339- page = await browser_context .newPage ()
340- await page .goto (server .EMPTY_PAGE )
341- await browser .close ()
342-
343- await browser_server .close ()
0 commit comments