diff --git a/e2e/__screenshots__/Mobile-Safari/pages.mock.spec.ts/history-empty.png b/e2e/__screenshots__/Mobile-Safari/pages.mock.spec.ts/history-empty.png index 352e0e4ae..0f815a31b 100644 Binary files a/e2e/__screenshots__/Mobile-Safari/pages.mock.spec.ts/history-empty.png and b/e2e/__screenshots__/Mobile-Safari/pages.mock.spec.ts/history-empty.png differ diff --git a/e2e/authorize.mock.spec.ts b/e2e/authorize.mock.spec.ts index 51e2919ff..4d5112005 100644 --- a/e2e/authorize.mock.spec.ts +++ b/e2e/authorize.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { test, expect } from './fixtures' import { UI_TEXT } from './helpers/i18n' /** diff --git a/e2e/contact-scanner.mock.spec.ts b/e2e/contact-scanner.mock.spec.ts index f705a4736..075ac6c41 100644 --- a/e2e/contact-scanner.mock.spec.ts +++ b/e2e/contact-scanner.mock.spec.ts @@ -5,7 +5,7 @@ * 2. 分享联系人名片 */ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' const DEFAULT_PATTERN = [0, 1, 2, 5] diff --git a/e2e/ecosystem-miniapp.mock.spec.ts b/e2e/ecosystem-miniapp.mock.spec.ts index e4a126120..47cb3577e 100644 --- a/e2e/ecosystem-miniapp.mock.spec.ts +++ b/e2e/ecosystem-miniapp.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' /** * Bio 小程序生态 E2E 截图测试 diff --git a/e2e/fixtures.ts b/e2e/fixtures.ts index d9b708782..408dc3c5c 100644 --- a/e2e/fixtures.ts +++ b/e2e/fixtures.ts @@ -4,9 +4,16 @@ * 提供统一的测试 fixtures,包括: * - 控制台错误检测:测试结束时如果有未处理的控制台错误则失败 * - 页面错误检测:捕获未处理的 JavaScript 错误 + * + * 使用方式:在测试文件中替换导入 + * ```typescript + * // 替换原有导入 + * // import { test, expect } from '@playwright/test' + * import { test, expect } from './fixtures' + * ``` */ -import { test as base, expect } from '@playwright/test' +import { test as base, expect, type Page } from '@playwright/test' /** 允许的控制台错误模式(这些不会导致测试失败) */ const ALLOWED_ERROR_PATTERNS = [ @@ -36,6 +43,8 @@ export interface ConsoleMessage { /** * 扩展的 test fixture,包含控制台错误检测 + * + * consoleErrors 和 pageErrors 会自动收集错误,测试结束时断言 */ export const test = base.extend<{ /** 收集的控制台错误 */ @@ -101,3 +110,4 @@ export const test = base.extend<{ }) export { expect } +export type { Page } diff --git a/e2e/miniapp-ui.mock.spec.ts b/e2e/miniapp-ui.mock.spec.ts index e60e29653..8c26cf7ae 100644 --- a/e2e/miniapp-ui.mock.spec.ts +++ b/e2e/miniapp-ui.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' /** * 小程序 UI 截图测试 diff --git a/e2e/pages.mock.spec.ts b/e2e/pages.mock.spec.ts index ed5d2f0b3..3e46f4e2a 100644 --- a/e2e/pages.mock.spec.ts +++ b/e2e/pages.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' /** * 页面截图 E2E 测试 diff --git a/e2e/send-transaction.mock.spec.ts b/e2e/send-transaction.mock.spec.ts index 09a1d4759..b1bbb669d 100644 --- a/e2e/send-transaction.mock.spec.ts +++ b/e2e/send-transaction.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' import { UI_TEXT } from './helpers/i18n' /** diff --git a/e2e/services.mock.spec.ts b/e2e/services.mock.spec.ts index ca9ecf212..135538d0f 100644 --- a/e2e/services.mock.spec.ts +++ b/e2e/services.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test'; +import { test, expect } from './fixtures'; import { UI_TEXT } from './helpers/i18n'; /** diff --git a/e2e/staking.mock.spec.ts b/e2e/staking.mock.spec.ts index 6813e2ac2..87b82ccec 100644 --- a/e2e/staking.mock.spec.ts +++ b/e2e/staking.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect } from '@playwright/test' +import { test, expect } from './fixtures' /** * Staking 页面 E2E 测试 diff --git a/e2e/token-context-menu.mock.spec.ts b/e2e/token-context-menu.mock.spec.ts index af274c9a6..0d47f0f6d 100644 --- a/e2e/token-context-menu.mock.spec.ts +++ b/e2e/token-context-menu.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' import { UI_TEXT } from './helpers/i18n' /** diff --git a/e2e/token-menu-transfer-flow.mock.spec.ts b/e2e/token-menu-transfer-flow.mock.spec.ts index c72d96700..6185e790e 100644 --- a/e2e/token-menu-transfer-flow.mock.spec.ts +++ b/e2e/token-menu-transfer-flow.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' /** * Token Menu Transfer Flow - Complete E2E Test with Screenshots diff --git a/e2e/transaction-history.mock.spec.ts b/e2e/transaction-history.mock.spec.ts index cf86f8b29..fe55766c2 100644 --- a/e2e/transaction-history.mock.spec.ts +++ b/e2e/transaction-history.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' import { UI_TEXT } from './helpers/i18n' /** diff --git a/e2e/transaction-history.real-fixtures.mock.spec.ts b/e2e/transaction-history.real-fixtures.mock.spec.ts index 63f8273fe..458734f95 100644 --- a/e2e/transaction-history.real-fixtures.mock.spec.ts +++ b/e2e/transaction-history.real-fixtures.mock.spec.ts @@ -1,4 +1,4 @@ -import { test, expect, type Page } from '@playwright/test' +import { test, expect, type Page } from './fixtures' import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url'