diff --git a/tests/android/androidTest.ts b/tests/android/androidTest.ts index e81e4a401f7db..0a5292c76346c 100644 --- a/tests/android/androidTest.ts +++ b/tests/android/androidTest.ts @@ -61,6 +61,7 @@ export const androidTest = baseTest.extend { await closeAllActivities(androidDeviceWorker); diff --git a/tests/electron/electronTest.ts b/tests/electron/electronTest.ts index 33210e91168f6..c418236f55d79 100644 --- a/tests/electron/electronTest.ts +++ b/tests/electron/electronTest.ts @@ -35,6 +35,7 @@ export const electronTest = baseTest.extend(traceViewerFixt isAndroid: [false, { scope: 'worker' }], isElectron: [true, { scope: 'worker' }], isWebView2: [false, { scope: 'worker' }], + isHeadlessShell: [false, { scope: 'worker' }], launchElectronApp: async ({ playwright }, use) => { // This env prevents 'Electron Security Policy' console message. diff --git a/tests/page/page-screenshot.spec.ts b/tests/page/page-screenshot.spec.ts index 7e6856c24c196..76985e758ce35 100644 --- a/tests/page/page-screenshot.spec.ts +++ b/tests/page/page-screenshot.spec.ts @@ -280,12 +280,12 @@ it.describe('page screenshot', () => { expect(screenshot).toMatchSnapshot('screenshot-clip-odd-size.png'); }); - it('should work for canvas', async ({ page, server, isElectron, isMac, isLinux, macVersion, browserName, headless }) => { + it('should work for canvas', async ({ page, server, isElectron, isMac, isLinux, macVersion, browserName, isHeadlessShell }) => { it.fixme(isElectron && isMac, 'Fails on the bots'); await page.setViewportSize({ width: 500, height: 500 }); await page.goto(server.PREFIX + '/screenshots/canvas.html'); const screenshot = await page.screenshot(); - if ((!headless && browserName === 'chromium' && isMac && os.arch() === 'arm64' && macVersion >= 14) || + if ((!isHeadlessShell && browserName === 'chromium' && isMac && os.arch() === 'arm64' && macVersion >= 14) || (browserName === 'webkit' && isLinux && os.arch() === 'x64')) expect(screenshot).toMatchSnapshot('screenshot-canvas-with-accurate-corners.png'); else diff --git a/tests/page/pageTestApi.ts b/tests/page/pageTestApi.ts index 1ccfd608e9e04..f29af2c92f680 100644 --- a/tests/page/pageTestApi.ts +++ b/tests/page/pageTestApi.ts @@ -36,4 +36,5 @@ export type PageWorkerFixtures = { isAndroid: boolean; isElectron: boolean; isWebView2: boolean; + isHeadlessShell: boolean; }; diff --git a/tests/webview2/webView2Test.ts b/tests/webview2/webView2Test.ts index dcadcebe6d372..a72fc9f2b62a5 100644 --- a/tests/webview2/webView2Test.ts +++ b/tests/webview2/webView2Test.ts @@ -32,6 +32,7 @@ export const webView2Test = baseTest.extend(traceViewerFixt isElectron: [false, { scope: 'worker' }], electronMajorVersion: [0, { scope: 'worker' }], isWebView2: [true, { scope: 'worker' }], + isHeadlessShell: [false, { scope: 'worker' }], browser: [async ({ playwright }, use, testInfo) => { const cdpPort = 10000 + testInfo.workerIndex;