Standardize browser QA at 1920x1080

This commit is contained in:
2026-07-17 22:18:30 +09:00
parent eb41c05f60
commit 8f10d3d67b
29 changed files with 224 additions and 51 deletions

View File

@@ -2,10 +2,11 @@ import { spawn } from 'node:child_process';
import { existsSync, readdirSync, statSync, writeFileSync } from 'node:fs';
import { join } from 'node:path';
import { chromium } from 'playwright';
import { desktopBrowserContextOptions, desktopBrowserViewport } from './desktop-browser-viewport.mjs';
const targetUrl = withDebugParam(process.env.MEASURE_URL ?? 'http://127.0.0.1:4173/');
const outputPath = process.env.MEASURE_OUT ?? 'dist/performance-report.json';
const baselineViewport = { width: 1920, height: 1080 };
const baselineViewport = desktopBrowserViewport;
const legacyUiScale = 1.5;
const budgets = {
titleReadyMs: readBudget('PERF_BUDGET_TITLE_READY_MS', 30000),
@@ -50,7 +51,7 @@ let browser;
try {
serverProcess = await ensurePreviewServer(targetUrl);
browser = await chromium.launch({ headless: true });
const context = await browser.newContext({ viewport: baselineViewport });
const context = await browser.newContext(desktopBrowserContextOptions);
await context.addInitScript(() => window.localStorage.clear());
const page = await context.newPage();
@@ -90,6 +91,8 @@ try {
const report = {
targetUrl,
measuredAt: new Date().toISOString(),
viewport: { ...baselineViewport },
deviceScaleFactor: desktopBrowserContextOptions.deviceScaleFactor,
timingsMs: {
titleReady: titleMs,
storyReadyFromNewGame: storyMs,