From 943ec535853e3e5951892cbcfbfba4907a2299ae Mon Sep 17 00:00:00 2001 From: coso Date: Wed, 12 Aug 2026 06:47:09 +0800 Subject: [PATCH] test: stabilize external marketing checks --- frontend/e2e/marketing-home.spec.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/e2e/marketing-home.spec.ts b/frontend/e2e/marketing-home.spec.ts index 5662fef..7762c7f 100644 --- a/frontend/e2e/marketing-home.spec.ts +++ b/frontend/e2e/marketing-home.spec.ts @@ -4,6 +4,7 @@ import { captureBrowserErrors, expectNoHorizontalOverflow } from './fixtures' test('@marketing official website is public, localized, and responsive', async ({ page }, testInfo) => { const errors = captureBrowserErrors(page) + const captureDesignEvidence = !process.env.ASTER_E2E_EXTERNAL_URL await page.goto('/', { waitUntil: 'commit' }) await expect(page).toHaveURL('/') @@ -12,9 +13,11 @@ test('@marketing official website is public, localized, and responsive', async ( await expect(page.getByRole('heading', { level: 2, name: 'Every model request follows the same enterprise decision chain' })).toBeVisible() const productImage = page.getByRole('img', { name: 'Actual AsterRouter routing policy workbench' }) await expect(productImage).toBeVisible() - expect(await productImage.evaluate((image: HTMLImageElement) => image.complete && image.naturalWidth > 0)).toBe(true) + await expect.poll(() => productImage.evaluate((image: HTMLImageElement) => image.complete && image.naturalWidth > 0)).toBe(true) await expectNoHorizontalOverflow(page) - await page.screenshot({ path: testInfo.outputPath('marketing-home-en.png'), fullPage: true }) + if (captureDesignEvidence) { + await page.screenshot({ path: testInfo.outputPath('marketing-home-en.png'), fullPage: true, animations: 'disabled' }) + } if ((page.viewportSize()?.width || 0) <= 1080) { await page.getByRole('button', { name: 'Open website navigation' }).click() @@ -27,7 +30,9 @@ test('@marketing official website is public, localized, and responsive', async ( await expect(page.locator('.hero-category')).toHaveText('企业 AI 访问与路由基础设施') await expect(page.getByRole('heading', { level: 2, name: '策略不是一个权重,而是一份完整路由合同' })).toBeVisible() await expectNoHorizontalOverflow(page) - await page.screenshot({ path: testInfo.outputPath('marketing-home-zh.png'), fullPage: true }) + if (captureDesignEvidence) { + await page.screenshot({ path: testInfo.outputPath('marketing-home-zh.png'), fullPage: true, animations: 'disabled' }) + } if (testInfo.project.name === 'chromium-desktop') { const results = await new AxeBuilder({ page }).analyze()