cherry-pick(#14264): chore: more testing-friendly trace (#14276)

SHA 432c52d31a

Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
This commit is contained in:
Andrey Lushnikov 2022-05-19 08:04:32 -06:00 committed by GitHub
parent baa6aa9f63
commit 14782d7a6b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -32,25 +32,29 @@ export const fixtures: Fixtures<PlaywrightTestArgs & PlaywrightTestOptions & { m
if (!_ctPage.page || _ctPage.hash !== hash) {
if (_ctPage.page)
await _ctPage.page.close();
_ctPage.page = await (browser as any)._wrapApiCall(async () => {
const page = await (browser as any)._wrapApiCall(async () => {
const page = await browser.newPage();
await page.addInitScript('navigator.serviceWorker.register = () => {}');
await page.exposeFunction('__pw_dispatch', (ordinal: number, args: any[]) => {
boundCallbacksForMount[ordinal](...args);
});
return page;
});
_ctPage.hash = hash;
} else {
await (_ctPage.page as any)._resetForReuse();
await (_ctPage.page.context() as any)._resetForReuse();
await _ctPage.page.goto('about:blank');
await _ctPage.page.setViewportSize(viewport || { width: 1280, height: 800 });
}
const page = _ctPage.page!;
await page.goto(process.env.PLAYWRIGHT_VITE_COMPONENTS_BASE_URL!);
return page;
}, true);
_ctPage.page = page;
_ctPage.hash = hash;
await use(page);
} else {
const page = _ctPage.page;
await (page as any)._wrapApiCall(async () => {
await (page as any)._resetForReuse();
await (page.context() as any)._resetForReuse();
await page.goto('about:blank');
await page.setViewportSize(viewport || { width: 1280, height: 800 });
await page.goto(process.env.PLAYWRIGHT_VITE_COMPONENTS_BASE_URL!);
}, true);
await use(page);
}
},
mount: async ({ page }, use) => {