@@ -258,21 +258,23 @@ module.exports.describe = function({testRunner, expect, MAC, WIN, FFOX, CHROMIUM
258
258
expect ( failedRequests [ 0 ] . frame ( ) ) . toBeTruthy ( ) ;
259
259
} ) ;
260
260
it ( 'Page.Events.RequestFinished' , async ( { page, server} ) => {
261
- const requests = [ ] ;
262
- page . on ( 'requestfinished' , request => requests . push ( request ) ) ;
263
- await page . goto ( server . EMPTY_PAGE ) ;
264
- expect ( requests . length ) . toBe ( 1 ) ;
265
- expect ( requests [ 0 ] . url ( ) ) . toBe ( server . EMPTY_PAGE ) ;
266
- expect ( requests [ 0 ] . response ( ) ) . toBeTruthy ( ) ;
267
- expect ( requests [ 0 ] . frame ( ) === page . mainFrame ( ) ) . toBe ( true ) ;
268
- expect ( requests [ 0 ] . frame ( ) . url ( ) ) . toBe ( server . EMPTY_PAGE ) ;
261
+ const [ response ] = await Promise . all ( [
262
+ page . goto ( server . EMPTY_PAGE ) ,
263
+ page . waitForEvent ( 'requestfinished' )
264
+ ] ) ;
265
+ const request = response . request ( ) ;
266
+ expect ( request . url ( ) ) . toBe ( server . EMPTY_PAGE ) ;
267
+ expect ( request . response ( ) ) . toBeTruthy ( ) ;
268
+ expect ( request . frame ( ) === page . mainFrame ( ) ) . toBe ( true ) ;
269
+ expect ( request . frame ( ) . url ( ) ) . toBe ( server . EMPTY_PAGE ) ;
269
270
} ) ;
270
271
it ( 'should fire events in proper order' , async ( { page, server} ) => {
271
272
const events = [ ] ;
272
273
page . on ( 'request' , request => events . push ( 'request' ) ) ;
273
274
page . on ( 'response' , response => events . push ( 'response' ) ) ;
274
- page . on ( 'requestfinished' , request => events . push ( 'requestfinished' ) ) ;
275
- await page . goto ( server . EMPTY_PAGE ) ;
275
+ const response = await page . goto ( server . EMPTY_PAGE ) ;
276
+ await response . finished ( ) ;
277
+ events . push ( 'requestfinished' )
276
278
expect ( events ) . toEqual ( [ 'request' , 'response' , 'requestfinished' ] ) ;
277
279
} ) ;
278
280
it ( 'should support redirects' , async ( { page, server} ) => {
@@ -284,6 +286,7 @@ module.exports.describe = function({testRunner, expect, MAC, WIN, FFOX, CHROMIUM
284
286
server . setRedirect ( '/foo.html' , '/empty.html' ) ;
285
287
const FOO_URL = server . PREFIX + '/foo.html' ;
286
288
const response = await page . goto ( FOO_URL ) ;
289
+ await response . finished ( ) ;
287
290
expect ( events ) . toEqual ( [
288
291
`GET ${ FOO_URL } ` ,
289
292
`302 ${ FOO_URL } ` ,
0 commit comments