diff --git a/test/page-network-idle.spec.ts b/test/page-network-idle.spec.ts
index 6904c4890a..5ba353a10c 100644
--- a/test/page-network-idle.spec.ts
+++ b/test/page-network-idle.spec.ts
@@ -136,3 +136,23 @@ it('should wait for networkidle from the child frame', async ({page, server}) =>
return page.goto(server.PREFIX + '/networkidle-frame.html', { waitUntil: 'networkidle' });
});
});
+
+it('should wait for networkidle from the popup', (test, { browserName }) => {
+ test.fixme(browserName === 'firefox', 'Times out due to inactive layout / raf throttling');
+}, async ({page, server}) => {
+ await page.goto(server.EMPTY_PAGE);
+ await page.setContent(`
+
+
+
+
+
+ `);
+ for (let i = 1; i < 6; ++i) {
+ const [popup] = await Promise.all([
+ page.waitForEvent('popup'),
+ page.click('#box' + i)
+ ]);
+ await popup.waitForLoadState('networkidle');
+ }
+});