@@ -104,150 +104,6 @@ async def test_browser_type_name_should_work(
104
104
raise ValueError ("Unknown browser" )
105
105
106
106
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
-
251
107
async def test_browser_close_should_fire_close_event_for_all_contexts (
252
108
browser_type , launch_arguments
253
109
):
@@ -266,78 +122,3 @@ async def test_browser_close_should_be_callable_twice(browser_type, launch_argum
266
122
browser .close (),
267
123
)
268
124
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