diff options
Diffstat (limited to 'remote/test/puppeteer/test/src/headful.spec.ts')
-rw-r--r-- | remote/test/puppeteer/test/src/headful.spec.ts | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/remote/test/puppeteer/test/src/headful.spec.ts b/remote/test/puppeteer/test/src/headful.spec.ts index 1e3248b4ff..67ae9f335e 100644 --- a/remote/test/puppeteer/test/src/headful.spec.ts +++ b/remote/test/puppeteer/test/src/headful.spec.ts @@ -12,18 +12,18 @@ import expect from 'expect'; import type {PuppeteerLaunchOptions} from 'puppeteer-core/internal/node/PuppeteerNode.js'; import {rmSync} from 'puppeteer-core/internal/node/util/fs.js'; -import {getTestState, isHeadless, launch} from './mocha-utils.js'; +import {getTestState, launch} from './mocha-utils.js'; const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-'); -(!isHeadless ? describe : describe.skip)('headful tests', function () { +describe('headful tests', function () { /* These tests fire up an actual browser so let's * allow a higher timeout */ this.timeout(20_000); - let headfulOptions: PuppeteerLaunchOptions | undefined; - let headlessOptions: PuppeteerLaunchOptions & {headless: boolean}; + let headfulOptions: PuppeteerLaunchOptions & {headless: false}; + let headlessOptions: PuppeteerLaunchOptions & {headless: true}; const browsers: Array<() => Promise<void>> = []; @@ -32,10 +32,10 @@ const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-'); skipLaunch: true, }); headfulOptions = Object.assign({}, defaultBrowserOptions, { - headless: false, + headless: false as const, }); headlessOptions = Object.assign({}, defaultBrowserOptions, { - headless: true, + headless: true as const, }); }); @@ -64,23 +64,30 @@ const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-'); const headfulBrowser = await launchBrowser( Object.assign({userDataDir}, headfulOptions) ); - const headfulPage = await headfulBrowser.newPage(); - await headfulPage.goto(server.EMPTY_PAGE); - await headfulPage.evaluate(() => { - return (document.cookie = - 'foo=true; expires=Fri, 31 Dec 9999 23:59:59 GMT'); - }); - await headfulBrowser.close(); + try { + const headfulPage = await headfulBrowser.newPage(); + await headfulPage.goto(server.EMPTY_PAGE); + await headfulPage.evaluate(() => { + return (document.cookie = + 'foo=true; expires=Fri, 31 Dec 9999 23:59:59 GMT'); + }); + } finally { + await headfulBrowser.close(); + } // Read the cookie from headless chrome const headlessBrowser = await launchBrowser( Object.assign({userDataDir}, headlessOptions) ); - const headlessPage = await headlessBrowser.newPage(); - await headlessPage.goto(server.EMPTY_PAGE); - const cookie = await headlessPage.evaluate(() => { - return document.cookie; - }); - await headlessBrowser.close(); + let cookie = ''; + try { + const headlessPage = await headlessBrowser.newPage(); + await headlessPage.goto(server.EMPTY_PAGE); + cookie = await headlessPage.evaluate(() => { + return document.cookie; + }); + } finally { + await headlessBrowser.close(); + } // This might throw. See https://github.com/puppeteer/puppeteer/issues/2778 try { rmSync(userDataDir); |