diff --git a/docs/test-runners.md b/docs/test-runners.md
index 2448a4f69c..e6e5c0608c 100644
--- a/docs/test-runners.md
+++ b/docs/test-runners.md
@@ -34,6 +34,7 @@ beforeEach(async () => {
afterEach(async () => {
await page.close();
});
+
it('should work', async () => {
await page.goto('https://www.example.com/');
expect(await page.title()).toBe('Example Domain');
@@ -90,6 +91,7 @@ beforeEach(async() => {
afterEach(async () => {
await page.close();
});
+
it('should work', async () => {
await page.goto('https://www.example.com/');
assert.equal(await page.title(), 'Example Domain');
diff --git a/test/accessibility.spec.ts b/test/accessibility.spec.ts
index 6e8a3ff316..c9a464edf0 100644
--- a/test/accessibility.spec.ts
+++ b/test/accessibility.spec.ts
@@ -16,8 +16,6 @@
*/
import './base.fixture';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
-
it('should work', async function({page}) {
await page.setContent(`
diff --git a/test/autowaiting-basic.spec.ts b/test/autowaiting-basic.spec.ts
index d8cee0d6c6..5a9cb7619f 100644
--- a/test/autowaiting-basic.spec.ts
+++ b/test/autowaiting-basic.spec.ts
@@ -15,10 +15,7 @@
* limitations under the License.
*/
import './base.fixture';
-
-import utils from './utils';
-
-const {WIRE} = testOptions;
+const { WIRE } = testOptions;
it('should await navigation when clicking anchor', async({page, server}) => {
const messages = [];
diff --git a/test/autowaiting-no-hang.spec.ts b/test/autowaiting-no-hang.spec.ts
index a69f1ba839..43da0fd210 100644
--- a/test/autowaiting-no-hang.spec.ts
+++ b/test/autowaiting-no-hang.spec.ts
@@ -16,8 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-
it('clicking on links which do not commit navigation', async({page, server, httpsServer}) => {
await page.goto(server.EMPTY_PAGE);
await page.setContent(`foobar`);
diff --git a/test/base.fixture.ts b/test/base.fixture.ts
index 6953552f5f..dfe20f54ad 100644
--- a/test/base.fixture.ts
+++ b/test/base.fixture.ts
@@ -32,6 +32,7 @@ import {mkdtempAsync, removeFolderAsync} from './utils';
setUnderTest(); // Note: we must call setUnderTest before requiring Playwright
const browserName = process.env.BROWSER || 'chromium';
+const platform = os.platform();
declare global {
interface WorkerState {
@@ -54,6 +55,13 @@ declare global {
}
}
+(global as any).MAC = platform === 'darwin';
+(global as any).LINUX = platform === 'linux';
+(global as any).WIN = platform === 'win32';
+(global as any).CHROMIUM = browserName === 'chromium';
+(global as any).FFOX = browserName === 'firefox';
+(global as any).WEBKIT = browserName === 'webkit';
+
registerWorkerFixture('parallelIndex', async ({}, test) => {
await test(parseInt(process.env.JEST_WORKER_ID, 10) - 1);
});
@@ -180,7 +188,7 @@ registerFixture('httpsServer', async ({httpService}, test) => {
registerFixture('tmpDir', async ({}, test) => {
const tmpDir = await mkdtempAsync(path.join(os.tmpdir(), 'playwright-test-'));
await test(tmpDir);
- await removeFolderAsync(tmpDir);
+ await removeFolderAsync(tmpDir).catch(e => {});
});
registerWorkerFixture('asset', async ({}, test) => {
diff --git a/test/browser.spec.ts b/test/browser.spec.ts
index 07feadfd6a..239a7b252a 100644
--- a/test/browser.spec.ts
+++ b/test/browser.spec.ts
@@ -16,7 +16,6 @@
import './base.fixture';
import utils from './utils';
-const {CHROMIUM} = testOptions;
it('should create new page', async function({browser}) {
const page1 = await browser.newPage();
diff --git a/test/browsercontext-add-cookies.spec.ts b/test/browsercontext-add-cookies.spec.ts
index c48fc6d083..a8dae35607 100644
--- a/test/browsercontext-add-cookies.spec.ts
+++ b/test/browsercontext-add-cookies.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM} = testOptions;
-
it('should work', async({context, page, server}) => {
await page.goto(server.EMPTY_PAGE);
await context.addCookies([{
diff --git a/test/browsercontext-basic.spec.ts b/test/browsercontext-basic.spec.ts
index ad98ee17fd..5acb9abcdd 100644
--- a/test/browsercontext-basic.spec.ts
+++ b/test/browsercontext-basic.spec.ts
@@ -18,8 +18,6 @@ import './base.fixture';
import utils from './utils';
-const {WEBKIT} = testOptions;
-
it('should create new context', async function({browser}) {
expect(browser.contexts().length).toBe(0);
const context = await browser.newContext();
diff --git a/test/browsercontext-cookies.spec.ts b/test/browsercontext-cookies.spec.ts
index 76f809f34a..94308a0289 100644
--- a/test/browsercontext-cookies.spec.ts
+++ b/test/browsercontext-cookies.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, WEBKIT, WIN} = testOptions;
-
it('should return no cookies in pristine browser context', async({context, page, server}) => {
expect(await context.cookies()).toEqual([]);
});
diff --git a/test/browsercontext-credentials.spec.ts b/test/browsercontext-credentials.spec.ts
index 43ce9f23eb..53f648ad14 100644
--- a/test/browsercontext-credentials.spec.ts
+++ b/test/browsercontext-credentials.spec.ts
@@ -16,8 +16,7 @@
*/
import './base.fixture';
-import utils from './utils';
-const {CHROMIUM, HEADLESS} = testOptions;
+const { HEADLESS } = testOptions;
it.fail(CHROMIUM && !HEADLESS)('should fail without credentials', async({browser, server}) => {
server.setAuth('/empty.html', 'user', 'pass');
diff --git a/test/browsercontext-device.spec.ts b/test/browsercontext-device.spec.ts
index 259747d02e..e448d8a92b 100644
--- a/test/browsercontext-device.spec.ts
+++ b/test/browsercontext-device.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX} = testOptions;
-
it.skip(FFOX)('should work', async({playwright, browser, server}) => {
const iPhone = playwright.devices['iPhone 6'];
const context = await browser.newContext({ ...iPhone });
diff --git a/test/browsercontext-expose-function.spec.ts b/test/browsercontext-expose-function.spec.ts
index 415197cb87..185c835a27 100644
--- a/test/browsercontext-expose-function.spec.ts
+++ b/test/browsercontext-expose-function.spec.ts
@@ -16,10 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, MAC, HEADLESS} = testOptions;
-const {devices} = require('..');
-
it('expose binding should work', async({browser}) => {
const context = await browser.newContext();
let bindingSource;
diff --git a/test/browsercontext-locale.spec.ts b/test/browsercontext-locale.spec.ts
index c51421df55..f37ed462c6 100644
--- a/test/browsercontext-locale.spec.ts
+++ b/test/browsercontext-locale.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {CHROMIUM, FFOX, MAC, HEADLESS} = testOptions;
-
it('should affect accept-language header', async({browser, server}) => {
const context = await browser.newContext({ locale: 'fr-CH' });
const page = await context.newPage();
diff --git a/test/browsercontext-page-event.spec.ts b/test/browsercontext-page-event.spec.ts
index ac4cfcb388..09ad98763a 100644
--- a/test/browsercontext-page-event.spec.ts
+++ b/test/browsercontext-page-event.spec.ts
@@ -15,9 +15,6 @@
* limitations under the License.
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, MAC, HEADLESS} = testOptions;
-const {devices} = require('..');
it('should have url', async({browser, server}) => {
const context = await browser.newContext();
diff --git a/test/browsercontext-route.spec.ts b/test/browsercontext-route.spec.ts
index 5f1adec3bb..f21471c685 100644
--- a/test/browsercontext-route.spec.ts
+++ b/test/browsercontext-route.spec.ts
@@ -16,10 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, MAC, HEADLESS} = testOptions;
-const {devices} = require('..');
-
it('should intercept', async({browser, server}) => {
const context = await browser.newContext();
let intercepted = false;
diff --git a/test/browsercontext-timezone-id.spec.ts b/test/browsercontext-timezone-id.spec.ts
index bc51ada3ec..d377408860 100644
--- a/test/browsercontext-timezone-id.spec.ts
+++ b/test/browsercontext-timezone-id.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {CHROMIUM, FFOX, MAC, HEADLESS} = testOptions;
-
it('should work', async ({ browser }) => {
const func = () => new Date(1479579154987).toString();
{
diff --git a/test/browsercontext-user-agent.spec.ts b/test/browsercontext-user-agent.spec.ts
index 27e4a9920a..5d003c124c 100644
--- a/test/browsercontext-user-agent.spec.ts
+++ b/test/browsercontext-user-agent.spec.ts
@@ -17,7 +17,6 @@
import './base.fixture';
import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, MAC, HEADLESS} = testOptions;
const {devices} = require('..');
it('should work', async({browser, server}) => {
diff --git a/test/browsercontext-viewport-mobile.spec.ts b/test/browsercontext-viewport-mobile.spec.ts
index 6ea3801ba8..f364a8f984 100644
--- a/test/browsercontext-viewport-mobile.spec.ts
+++ b/test/browsercontext-viewport-mobile.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {CHROMIUM, FFOX, MAC, HEADLESS} = testOptions;
-
it.skip(FFOX)('should support mobile emulation', async({playwright, browser, server}) => {
const iPhone = playwright.devices['iPhone 6'];
const context = await browser.newContext({ ...iPhone });
diff --git a/test/browsercontext-viewport.spec.ts b/test/browsercontext-viewport.spec.ts
index dc71f3790a..676a277ef2 100644
--- a/test/browsercontext-viewport.spec.ts
+++ b/test/browsercontext-viewport.spec.ts
@@ -17,7 +17,6 @@
import './base.fixture';
import utils from './utils';
-const {CHROMIUM, FFOX, MAC, HEADLESS} = testOptions;
it('should get the proper default viewport size', async({page, server}) => {
await utils.verifyViewport(page, 1280, 720);
diff --git a/test/browsertype-basic.spec.ts b/test/browsertype-basic.spec.ts
index 5a9c9bcf2c..d4bdaa2a15 100644
--- a/test/browsertype-basic.spec.ts
+++ b/test/browsertype-basic.spec.ts
@@ -14,12 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import './base.fixture';
-import path from 'path';
import fs from 'fs';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+import './base.fixture';
it('browserType.executablePath should work', async({browserType}) => {
const executablePath = browserType.executablePath();
diff --git a/test/browsertype-connect.spec.ts b/test/browsertype-connect.spec.ts
index db38653af1..a861f7bc13 100644
--- a/test/browsertype-connect.spec.ts
+++ b/test/browsertype-connect.spec.ts
@@ -16,8 +16,7 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+const { WIRE } = testOptions;
it.skip(WIRE).slow()('should be able to reconnect to a browser', async({browserType, defaultBrowserOptions, server}) => {
const browserServer = await browserType.launchServer(defaultBrowserOptions);
diff --git a/test/browsertype-launch-server.spec.ts b/test/browsertype-launch-server.spec.ts
index ebc673012f..9758de565b 100644
--- a/test/browsertype-launch-server.spec.ts
+++ b/test/browsertype-launch-server.spec.ts
@@ -16,10 +16,7 @@
*/
import './base.fixture';
-import path from 'path';
-import fs from 'fs';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+const { WIRE } = testOptions;
it.skip(WIRE)('should work', async({browserType, defaultBrowserOptions}) => {
const browserServer = await browserType.launchServer(defaultBrowserOptions);
diff --git a/test/browsertype-launch.spec.ts b/test/browsertype-launch.spec.ts
index 50188cc372..5fceee5eed 100644
--- a/test/browsertype-launch.spec.ts
+++ b/test/browsertype-launch.spec.ts
@@ -14,12 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import './base.fixture';
import path from 'path';
-import fs from 'fs';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+import './base.fixture';
+
+const { WIRE } = testOptions;
it('should reject all promises when browser is closed', async({browserType, defaultBrowserOptions}) => {
const browser = await browserType.launch(defaultBrowserOptions);
diff --git a/test/capabilities.spec.ts b/test/capabilities.spec.ts
index 6485665c49..916bdd9040 100644
--- a/test/capabilities.spec.ts
+++ b/test/capabilities.spec.ts
@@ -13,12 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import './base.fixture';
-import path from 'path';
import url from 'url';
-
-const {FFOX, CHROMIUM, WEBKIT, WIN, LINUX} = testOptions;
+import './base.fixture';
it.fail(WEBKIT && WIN)('Web Assembly should work', async function({page, server}) {
await page.goto(server.PREFIX + '/wasm/table2.html');
diff --git a/test/channels.spec.ts b/test/channels.spec.ts
index 05b936ca6d..e7a620ee6b 100644
--- a/test/channels.spec.ts
+++ b/test/channels.spec.ts
@@ -15,10 +15,7 @@
* limitations under the License.
*/
import './base.fixture';
-
-import utils from './utils';
import { ChromiumBrowser } from '..';
-const { FFOX, CHROMIUM, WEBKIT, WIN } = testOptions;
it('should work', async({browser}) => {
expect(!!browser['_connection']).toBeTruthy();
diff --git a/test/chromium-css-coverage.spec.ts b/test/chromium-css-coverage.spec.ts
index 7cb3e8ef36..64c0b302dc 100644
--- a/test/chromium-css-coverage.spec.ts
+++ b/test/chromium-css-coverage.spec.ts
@@ -15,9 +15,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
-
it.skip(!CHROMIUM)('should work', async function({browserType, page, server}) {
await page.coverage.startCSSCoverage();
await page.goto(server.PREFIX + '/csscoverage/simple.html');
diff --git a/test/chromium-js-coverage.spec.ts b/test/chromium-js-coverage.spec.ts
index cfc34f5edc..49fed712f7 100644
--- a/test/chromium-js-coverage.spec.ts
+++ b/test/chromium-js-coverage.spec.ts
@@ -15,9 +15,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
-
it.skip(CHROMIUM)('should be missing', async function({page, server}) {
expect(page.coverage).toBe(null);
});
diff --git a/test/chromium/chromium.spec.ts b/test/chromium/chromium.spec.ts
index 8828d9937e..29f1189392 100644
--- a/test/chromium/chromium.spec.ts
+++ b/test/chromium/chromium.spec.ts
@@ -16,8 +16,6 @@
import '../base.fixture';
import { ChromiumBrowserContext } from '../..';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
-
it.skip(!CHROMIUM)('should create a worker from a service worker', async({page, server, context}) => {
const [worker] = await Promise.all([
(context as ChromiumBrowserContext).waitForEvent('serviceworker'),
diff --git a/test/chromium/launcher.spec.ts b/test/chromium/launcher.spec.ts
index 89669bde60..6602fef667 100644
--- a/test/chromium/launcher.spec.ts
+++ b/test/chromium/launcher.spec.ts
@@ -18,8 +18,8 @@ import '../base.fixture';
import path from 'path';
import utils from '../utils';
import { ChromiumBrowser, ChromiumBrowserContext } from '../..';
-const {makeUserDataDir, removeUserDataDir} = utils;
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+const { makeUserDataDir, removeUserDataDir } = utils;
+const { WIRE } = testOptions;
it.skip(WIRE || !CHROMIUM)('should throw with remote-debugging-pipe argument', async({browserType, defaultBrowserOptions}) => {
const options = Object.assign({}, defaultBrowserOptions);
diff --git a/test/chromium/oopif.spec.ts b/test/chromium/oopif.spec.ts
index 2f2e2b986f..d275b0c7b8 100644
--- a/test/chromium/oopif.spec.ts
+++ b/test/chromium/oopif.spec.ts
@@ -17,8 +17,6 @@
import '../base.fixture';
import { registerWorkerFixture } from '../runner/fixtures';
-const {CHROMIUM} = testOptions;
-
registerWorkerFixture('browser', async ({browserType, defaultBrowserOptions}, test) => {
const browser = await browserType.launch({
...defaultBrowserOptions,
diff --git a/test/chromium/session.spec.ts b/test/chromium/session.spec.ts
index 1329c6fc3e..fc62e310fd 100644
--- a/test/chromium/session.spec.ts
+++ b/test/chromium/session.spec.ts
@@ -16,8 +16,6 @@
import '../base.fixture';
import { ChromiumBrowserContext, ChromiumBrowser } from "../../types/types";
-const {FFOX, CHROMIUM, WEBKIT, WIRE} = testOptions;
-
it.skip(!CHROMIUM)('should work', async function({page}) {
const client = await (page.context() as ChromiumBrowserContext).newCDPSession(page);
diff --git a/test/chromium/tracing.spec.ts b/test/chromium/tracing.spec.ts
index 1c0273c6e0..b58701f130 100644
--- a/test/chromium/tracing.spec.ts
+++ b/test/chromium/tracing.spec.ts
@@ -19,12 +19,13 @@ import { registerFixture } from '../runner/fixtures';
import fs from 'fs';
import path from 'path';
import { ChromiumBrowser } from '../..';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
+
declare global {
interface FixtureState {
outputFile: string;
}
}
+
registerFixture('outputFile', async ({tmpDir}, test) => {
const outputFile = path.join(tmpDir, `trace.json`);
await test(outputFile);
diff --git a/test/click-react.spec.ts b/test/click-react.spec.ts
index b08bd55fb7..db6f0fb127 100644
--- a/test/click-react.spec.ts
+++ b/test/click-react.spec.ts
@@ -15,7 +15,6 @@
* limitations under the License.
*/
import './base.fixture';
-import utils from './utils';
declare const renderComponent;
declare const e;
diff --git a/test/click-timeout-1.spec.ts b/test/click-timeout-1.spec.ts
index 96b6e5ab9c..1a6ed6ee9c 100644
--- a/test/click-timeout-1.spec.ts
+++ b/test/click-timeout-1.spec.ts
@@ -16,8 +16,7 @@
*/
import './base.fixture';
-import utils from './utils';
-const {WIRE} = testOptions;
+const { WIRE } = testOptions;
it.skip(WIRE)('should avoid side effects after timeout', async({page, server}) => {
await page.goto(server.PREFIX + '/input/button.html');
diff --git a/test/click-timeout-2.spec.ts b/test/click-timeout-2.spec.ts
index 8b42833cd2..6c0ebe361f 100644
--- a/test/click-timeout-2.spec.ts
+++ b/test/click-timeout-2.spec.ts
@@ -16,9 +16,6 @@
*/
import './base.fixture';
-import utils from './utils';
-const {WIRE} = testOptions;
-
it('should timeout waiting for display:none to be gone', async({page, server}) => {
await page.goto(server.PREFIX + '/input/button.html');
await page.$eval('button', b => b.style.display = 'none');
diff --git a/test/click-timeout-3.spec.ts b/test/click-timeout-3.spec.ts
index 56060a6eef..428bdc2ffc 100644
--- a/test/click-timeout-3.spec.ts
+++ b/test/click-timeout-3.spec.ts
@@ -16,8 +16,7 @@
*/
import './base.fixture';
-import utils from './utils';
-const {WIRE} = testOptions;
+const { WIRE } = testOptions;
it.skip(WIRE)('should fail when element jumps during hit testing', async({page, server}) => {
await page.setContent('');
diff --git a/test/click-timeout-4.spec.ts b/test/click-timeout-4.spec.ts
index 37e8ea9b1f..d4f27dd9ca 100644
--- a/test/click-timeout-4.spec.ts
+++ b/test/click-timeout-4.spec.ts
@@ -15,7 +15,6 @@
* limitations under the License.
*/
import './base.fixture';
-import utils from './utils';
it('should timeout waiting for stable position', async({page, server}) => {
await page.goto(server.PREFIX + '/input/button.html');
diff --git a/test/click.spec.ts b/test/click.spec.ts
index bc01aa67d0..f095a5bb96 100644
--- a/test/click.spec.ts
+++ b/test/click.spec.ts
@@ -15,9 +15,9 @@
* limitations under the License.
*/
import './base.fixture';
-
import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, HEADLESS, WIRE} = testOptions;
+
+const { HEADLESS } = testOptions;
async function giveItAChanceToClick(page) {
for (let i = 0; i < 5; i++)
diff --git a/test/defaultbrowsercontext.spec.ts b/test/defaultbrowsercontext.spec.ts
index ba85cb2a12..5a19f33e91 100644
--- a/test/defaultbrowsercontext.spec.ts
+++ b/test/defaultbrowsercontext.spec.ts
@@ -16,33 +16,24 @@
*/
import './base.fixture';
import { registerFixture } from './runner/fixtures';
-
import fs from 'fs';
-import path from 'path';
import utils from './utils';
-import os from 'os';
import { BrowserType, Browser, BrowserContext, Page } from '..';
-const {removeFolderAsync, mkdtempAsync, removeUserDataDir, makeUserDataDir} = utils;
-const {FFOX, MAC, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
+const { removeUserDataDir, makeUserDataDir } = utils;
+const { WIRE } = testOptions;
declare global {
interface FixtureState {
- userDataDir: string;
launchPersistent: (options?: Parameters['launchPersistentContext']>[1]) => Promise<{context: BrowserContext, page: Page}>;
}
}
-registerFixture('userDataDir', async ({}, test) => {
- const userDataDir = await mkdtempAsync(path.join(os.tmpdir(), 'playwright_dev_profile-'));
- await test(userDataDir);
- removeFolderAsync(userDataDir).catch(e => {});
-});
-registerFixture('launchPersistent', async ({userDataDir, defaultBrowserOptions, browserType}, test) => {
+registerFixture('launchPersistent', async ({tmpDir, defaultBrowserOptions, browserType}, test) => {
let context;
async function launchPersistent(options) {
if (context)
throw new Error('can only launch one persitent context');
- context = await browserType.launchPersistentContext(userDataDir, {...defaultBrowserOptions, ...options});
+ context = await browserType.launchPersistentContext(tmpDir, {...defaultBrowserOptions, ...options});
const page = context.pages()[0];
return {context, page};
}
@@ -275,14 +266,14 @@ it('should support extraHTTPHeaders option', async ({server, launchPersistent})
expect(request.headers['foo']).toBe('bar');
});
-it('should accept userDataDir', async ({launchPersistent, userDataDir}) => {
+it('should accept userDataDir', async ({launchPersistent, tmpDir}) => {
const {page, context} = await launchPersistent();
// Note: we need an open page to make sure its functional.
- expect(fs.readdirSync(userDataDir).length).toBeGreaterThan(0);
+ expect(fs.readdirSync(tmpDir).length).toBeGreaterThan(0);
await context.close();
- expect(fs.readdirSync(userDataDir).length).toBeGreaterThan(0);
+ expect(fs.readdirSync(tmpDir).length).toBeGreaterThan(0);
// This might throw. See https://github.com/GoogleChrome/puppeteer/issues/2778
- await removeUserDataDir(userDataDir);
+ await removeUserDataDir(tmpDir);
});
it.slow()('should restore state from userDataDir', async({browserType, defaultBrowserOptions, server, launchPersistent}) => {
@@ -347,20 +338,20 @@ it('should have default URL when launching browser', async ({launchPersistent})
expect(urls).toEqual(['about:blank']);
});
-it.skip(FFOX)('should throw if page argument is passed', async ({browserType, defaultBrowserOptions, server, userDataDir}) => {
+it.skip(FFOX)('should throw if page argument is passed', async ({browserType, defaultBrowserOptions, server, tmpDir}) => {
const options = {...defaultBrowserOptions, args: [server.EMPTY_PAGE] };
- const error = await browserType.launchPersistentContext(userDataDir, options).catch(e => e);
+ const error = await browserType.launchPersistentContext(tmpDir, options).catch(e => e);
expect(error.message).toContain('can not specify page');
});
-it.skip(WIRE)('should have passed URL when launching with ignoreDefaultArgs: true', async ({browserType, defaultBrowserOptions, server, userDataDir, toImpl}) => {
- const args = toImpl(browserType)._defaultArgs(defaultBrowserOptions, 'persistent', userDataDir, 0).filter(a => a !== 'about:blank');
+it.skip(WIRE)('should have passed URL when launching with ignoreDefaultArgs: true', async ({browserType, defaultBrowserOptions, server, tmpDir, toImpl}) => {
+ const args = toImpl(browserType)._defaultArgs(defaultBrowserOptions, 'persistent', tmpDir, 0).filter(a => a !== 'about:blank');
const options = {
...defaultBrowserOptions,
args: [...args, server.EMPTY_PAGE],
ignoreDefaultArgs: true,
};
- const browserContext = await browserType.launchPersistentContext(userDataDir, options);
+ const browserContext = await browserType.launchPersistentContext(tmpDir, options);
if (!browserContext.pages().length)
await browserContext.waitForEvent('page');
await browserContext.pages()[0].waitForLoadState();
@@ -369,16 +360,16 @@ it.skip(WIRE)('should have passed URL when launching with ignoreDefaultArgs: tru
await browserContext.close();
});
-it.skip(WIRE)('should handle timeout', async({browserType, defaultBrowserOptions, userDataDir}) => {
+it.skip(WIRE)('should handle timeout', async({browserType, defaultBrowserOptions, tmpDir}) => {
const options = { ...defaultBrowserOptions, timeout: 5000, __testHookBeforeCreateBrowser: () => new Promise(f => setTimeout(f, 6000)) };
- const error = await browserType.launchPersistentContext(userDataDir, options).catch(e => e);
+ const error = await browserType.launchPersistentContext(tmpDir, options).catch(e => e);
expect(error.message).toContain(`browserType.launchPersistentContext: Timeout 5000ms exceeded.`);
});
-it.skip(WIRE)('should handle exception', async({browserType, defaultBrowserOptions, userDataDir}) => {
+it.skip(WIRE)('should handle exception', async({browserType, defaultBrowserOptions, tmpDir}) => {
const e = new Error('Dummy');
const options = { ...defaultBrowserOptions, __testHookBeforeCreateBrowser: () => { throw e; } };
- const error = await browserType.launchPersistentContext(userDataDir, options).catch(e => e);
+ const error = await browserType.launchPersistentContext(tmpDir, options).catch(e => e);
expect(error.message).toContain('Dummy');
});
diff --git a/test/dialog.spec.ts b/test/dialog.spec.ts
index 94396d69da..a0862fa7e1 100644
--- a/test/dialog.spec.ts
+++ b/test/dialog.spec.ts
@@ -16,8 +16,6 @@
*/
import './base.fixture';
-const {FFOX, CHROMIUM, WEBKIT} = testOptions;
-
it('should fire', async({page, server}) => {
page.on('dialog', dialog => {
expect(dialog.type()).toBe('alert');
@@ -28,7 +26,7 @@ it('should fire', async({page, server}) => {
await page.evaluate(() => alert('yo'));
});
-it('should allow accepting prompts', async({page, server}) => {
+it('should allow accepting prompts', async({page}) => {
page.on('dialog', dialog => {
expect(dialog.type()).toBe('prompt');
expect(dialog.defaultValue()).toBe('yes.');
@@ -39,7 +37,7 @@ it('should allow accepting prompts', async({page, server}) => {
expect(result).toBe('answer!');
});
-it('should dismiss the prompt', async({page, server}) => {
+it('should dismiss the prompt', async({page}) => {
page.on('dialog', dialog => {
dialog.dismiss();
});
@@ -47,7 +45,7 @@ it('should dismiss the prompt', async({page, server}) => {
expect(result).toBe(null);
});
-it('should accept the confirm prompt', async({page, server}) => {
+it('should accept the confirm prompt', async({page}) => {
page.on('dialog', dialog => {
dialog.accept();
});
@@ -55,7 +53,7 @@ it('should accept the confirm prompt', async({page, server}) => {
expect(result).toBe(true);
});
-it('should dismiss the confirm prompt', async({page, server}) => {
+it('should dismiss the confirm prompt', async({page}) => {
page.on('dialog', dialog => {
dialog.dismiss();
});
diff --git a/test/dispatchevent.spec.ts b/test/dispatchevent.spec.ts
index f4a73c9513..5d96d8c57b 100644
--- a/test/dispatchevent.spec.ts
+++ b/test/dispatchevent.spec.ts
@@ -16,7 +16,6 @@
import './base.fixture';
import utils from './utils';
-const {FFOX, CHROMIUM, WEBKIT, WIN, WIRE} = testOptions;
it('should dispatch click event', async({page, server}) => {
await page.goto(server.PREFIX + '/input/button.html');
@@ -32,7 +31,7 @@ it('should dispatch click event properties', async({page, server}) => {
expect(await page.evaluate('composed')).toBeTruthy();
});
-it('should dispatch click svg', async({page, server}) => {
+it('should dispatch click svg', async({page}) => {
await page.setContent(`