From d72a7e03d8cef75580b11e24c1faeaa06c907028 Mon Sep 17 00:00:00 2001 From: CieanYau Date: Sat, 7 Nov 2026 10:20:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=9A=E9=9A=94=E7=A6=BB?= =?UTF-8?q?=20Firefox=20=E5=BA=94=E7=94=A8=E6=95=B0=E6=8D=AE=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/review-style-layout.e2e.test.mjs | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/tests/review-style-layout.e2e.test.mjs b/tests/review-style-layout.e2e.test.mjs index fd4652d..63167e3 100644 --- a/tests/review-style-layout.e2e.test.mjs +++ b/tests/review-style-layout.e2e.test.mjs @@ -4,6 +4,9 @@ */ import assert from "node:assert/strict"; import { createHash } from "node:crypto"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; import { test } from "node:test"; import { firefox } from "playwright"; import { @@ -548,8 +551,22 @@ test( await routeHomeAccount(page.context()); await login(page, "/"); const chromium = await userIdChipGeometry(page); - const browser = await firefox.launch(); + const firefoxAppData = await mkdtemp( + join(tmpdir(), "console-playwright-firefox-app-"), + ), + firefoxLocalAppData = await mkdtemp( + join(tmpdir(), "console-playwright-firefox-local-"), + ); + let browser; try { + // Firefox must not inspect a developer's personal app-data directory before using its test profile. + browser = await firefox.launch({ + env: { + ...process.env, + MOZ_APP_DATA: firefoxAppData, + MOZ_LOCAL_APP_DATA: firefoxLocalAppData, + }, + }); const context = await browser.newContext({ viewport: { width: 1440, height: 900 }, serviceWorkers: "block", @@ -575,7 +592,12 @@ test( assert.deepEqual(blocked, [], "Firefox must stay on local origins"); return { chromium, firefox: gecko }; } finally { - await browser.close(); + await browser?.close(); + await Promise.all( + [firefoxAppData, firefoxLocalAppData].map((directory) => + rm(directory, { recursive: true, force: true }), + ), + ); } }), );