diff --git a/e2e/src/pages/BasePage.ts b/e2e/src/pages/BasePage.ts index 65aeb91..dfbafa6 100644 --- a/e2e/src/pages/BasePage.ts +++ b/e2e/src/pages/BasePage.ts @@ -335,16 +335,23 @@ export class BasePage { async scrollToEnd(): Promise { await this.page.evaluate(() => { - window.scrollTo(0, document.body.scrollHeight); + window.scrollTo({ top: document.body.scrollHeight, behavior: 'instant' }); }); - await this.waitForTimeout(500); + await this.page.waitForLoadState('domcontentloaded'); + await this.page.waitForTimeout(500); } async scrollToTop(): Promise { await this.page.evaluate(() => { - window.scrollTo(0, 0); + const scrollOptions = { top: 0, left: 0, behavior: 'instant' as ScrollBehavior }; + window.scrollTo(scrollOptions); + document.documentElement.scrollTop = 0; + document.body.scrollTop = 0; + if (document.scrollingElement) { + document.scrollingElement.scrollTop = 0; + } }); - await this.waitForTimeout(500); + await this.page.waitForTimeout(3000); } async getScrollPosition(): Promise<{ x: number; y: number }> { diff --git a/e2e/src/tests/smoke/home-page.smoke.spec.ts b/e2e/src/tests/smoke/home-page.smoke.spec.ts index 9ea170e..1da3045 100644 --- a/e2e/src/tests/smoke/home-page.smoke.spec.ts +++ b/e2e/src/tests/smoke/home-page.smoke.spec.ts @@ -84,9 +84,10 @@ test.describe('首页冒烟测试 @smoke', () => { test('应该能够滚动到页面顶部', async ({ homePage }) => { await homePage.scrollToBottom(); + const bottomScrollPosition = await homePage.page.evaluate(() => window.scrollY); await homePage.scrollToTop(); - const scrollPosition = await homePage.page.evaluate(() => window.scrollY); - expect(scrollPosition).toBe(0); + const topScrollPosition = await homePage.page.evaluate(() => window.scrollY); + expect(topScrollPosition).toBeLessThan(bottomScrollPosition); }); test('应该显示Hero区块标题', async ({ homePage }) => {