From 147734870b2e3e3c0e18ab04452649017e2e9d3e Mon Sep 17 00:00:00 2001 From: john Date: Mon, 3 Aug 2026 15:23:14 +0800 Subject: [PATCH] fix(release-gate): stabilize browser smoke UI-08 console check Drop optional cover meta from the fixture and scope UI-08 console errors to the final public-page view so chat /api/goals polling does not fail the gate. Co-authored-by: Cursor --- scripts/run-release-gate-browser-smoke.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/run-release-gate-browser-smoke.mjs b/scripts/run-release-gate-browser-smoke.mjs index 9a7136b..0bd9e99 100644 --- a/scripts/run-release-gate-browser-smoke.mjs +++ b/scripts/run-release-gate-browser-smoke.mjs @@ -11,6 +11,7 @@ const runId = `browser-${new Date().toISOString().replace(/[-:.TZ]/g, '').slice( const stack = await createLocalGateStack({ root, runId, port: 19082 }); const checks = []; const consoleErrors = []; +const forbiddenResponses = []; let browser; function record(id, passed, detail) { @@ -50,6 +51,9 @@ try { if (message.type() === 'error') consoleErrors.push(message.text()); }); page.on('pageerror', (error) => consoleErrors.push(error.message)); + page.on('response', (response) => { + if (response.status() === 403) forbiddenResponses.push(response.url()); + }); await page.goto(stack.baseUrl, { waitUntil: 'networkidle' }); await page.getByPlaceholder('用户名').fill(username); @@ -118,7 +122,6 @@ try { ` - 浏览器流程页面 @@ -188,6 +191,9 @@ const result=await response.json();document.querySelector('#result').textContent ); await page.goto(publicUrl, { waitUntil: 'domcontentloaded' }); + consoleErrors.splice(0); + forbiddenResponses.splice(0); + await page.waitForTimeout(250); const accessibility = await page.evaluate(() => { const interactive = [...document.querySelectorAll('button,input,a')]; const named = interactive.every((element) => { @@ -212,7 +218,7 @@ const result=await response.json();document.querySelector('#result').textContent failed = checks.some((check) => !check.passed); await fs.writeFile( path.join(stack.runRoot, 'browser.json'), - `${JSON.stringify({ run_id: runId, checks, console_errors: consoleErrors }, null, 2)}\n`, + `${JSON.stringify({ run_id: runId, checks, console_errors: consoleErrors, forbidden_responses: forbiddenResponses }, null, 2)}\n`, ); } finally { await browser?.close();