From c678df44aededb01254ece83c6e3d93210eb756b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Thu, 5 Mar 2026 22:53:12 +0800 Subject: [PATCH] fix: improve footer visibility with data-testid and waitForFooter method --- e2e/src/pages/HomePage.ts | 8 +++++++- e2e/src/tests/smoke/home-page.smoke.spec.ts | 2 +- src/components/layout/footer.tsx | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/e2e/src/pages/HomePage.ts b/e2e/src/pages/HomePage.ts index 4236bfb..59ee135 100644 --- a/e2e/src/pages/HomePage.ts +++ b/e2e/src/pages/HomePage.ts @@ -36,7 +36,7 @@ export class HomePage extends BasePage { this.aboutSection = page.locator('#about'); this.newsSection = page.locator('#news'); this.contactSection = page.locator('#contact'); - this.footer = page.locator('footer'); + this.footer = page.locator('[data-testid="footer"]'); } async getNavigationItemCount(): Promise { @@ -147,6 +147,12 @@ export class HomePage extends BasePage { return await this.footer.textContent() || ''; } + async waitForFooter(): Promise { + await this.scrollToBottom(); + await this.page.waitForLoadState('networkidle'); + await this.footer.waitFor({ state: 'visible', timeout: 10000 }); + } + async waitForHeroSection(): Promise { await this.heroSection.waitFor({ state: 'visible', timeout: 10000 }); } diff --git a/e2e/src/tests/smoke/home-page.smoke.spec.ts b/e2e/src/tests/smoke/home-page.smoke.spec.ts index ccb51b5..09c0e06 100644 --- a/e2e/src/tests/smoke/home-page.smoke.spec.ts +++ b/e2e/src/tests/smoke/home-page.smoke.spec.ts @@ -70,7 +70,7 @@ test.describe('首页冒烟测试 @smoke', () => { }); test('应该显示页脚', async ({ homePage }) => { - await homePage.scrollToBottom(); + await homePage.waitForFooter(); await expect(homePage.footer).toBeVisible(); const footerText = await homePage.getFooterText(); expect(footerText.length).toBeGreaterThan(0); diff --git a/src/components/layout/footer.tsx b/src/components/layout/footer.tsx index c4c603a..78a9d93 100644 --- a/src/components/layout/footer.tsx +++ b/src/components/layout/footer.tsx @@ -5,7 +5,7 @@ import { COMPANY_INFO, NAVIGATION } from '@/lib/constants'; export function Footer() { return ( -