From 3f91167e5bd9a5b2c4072f9578c1a4ea0b43a14e Mon Sep 17 00:00:00 2001 From: OrbisK Date: Mon, 23 Feb 2026 17:24:42 +0100 Subject: [PATCH 1/3] feat: add screenshots for failing vitest e2e browser tests --- src/e2e/browser.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/e2e/browser.ts b/src/e2e/browser.ts index fea691cdd..211dd9da2 100644 --- a/src/e2e/browser.ts +++ b/src/e2e/browser.ts @@ -1,6 +1,7 @@ import type { Browser, BrowserContextOptions, Page, Response } from 'playwright-core' import { useTestContext } from './context' import { url } from './server' +import { join, dirname } from 'node:path' export async function createBrowser() { const ctx = useTestContext() @@ -43,9 +44,24 @@ export interface NuxtPage extends Omit { } export async function createPage(path?: string, options?: BrowserContextOptions): Promise { + const ctx = useTestContext() const browser = await getBrowser() const page = await browser.newPage(options) as unknown as NuxtPage + if (ctx.options.runner === 'vitest') { + const vitest = await import('vitest') + vitest.onTestFailed(async (test) => { + try { + await page.screenshot({ + path: join(dirname(test.task.file.filepath), '__screenshots__', `${'fullTestName' in test.task ? test.task.fullTestName : test.task.id}.png`), + }) + } + catch { + // noop + } + }) + } + const _goto = page.goto.bind(page) page.goto = async (url, options): Promise => { const waitUntil = options?.waitUntil From 9f50e2c5b768894c2b64afa4e6a2b1ef59e54e90 Mon Sep 17 00:00:00 2001 From: OrbisK Date: Tue, 3 Mar 2026 17:36:57 +0100 Subject: [PATCH 2/3] chore: update screenshot name --- src/e2e/browser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e2e/browser.ts b/src/e2e/browser.ts index 211dd9da2..de5071036 100644 --- a/src/e2e/browser.ts +++ b/src/e2e/browser.ts @@ -53,7 +53,7 @@ export async function createPage(path?: string, options?: BrowserContextOptions) vitest.onTestFailed(async (test) => { try { await page.screenshot({ - path: join(dirname(test.task.file.filepath), '__screenshots__', `${'fullTestName' in test.task ? test.task.fullTestName : test.task.id}.png`), + path: join(dirname(test.task.file.filepath), '__screenshots__', `failed-${test.task.fullTestName}.png`), }) } catch { From 92b9341c336650cfde26b785c22b4b38983bec8a Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Thu, 18 Jun 2026 14:01:35 +0000 Subject: [PATCH 3/3] [autofix.ci] apply automated fixes --- src/e2e/browser.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/e2e/browser.ts b/src/e2e/browser.ts index b092daddf..de5071036 100644 --- a/src/e2e/browser.ts +++ b/src/e2e/browser.ts @@ -3,7 +3,6 @@ import { useTestContext } from './context' import { url } from './server' import { join, dirname } from 'node:path' - export async function createBrowser() { const ctx = useTestContext()