From 3177ebdd7abf8d890a9182d6c7795b76bc0678f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Sat, 4 Apr 2026 09:02:28 +0800 Subject: [PATCH] fix: optimize UserManagementPage navigation with better error handling --- .../e2e/pages/UserManagementPage.ts | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/novalon-manage-web/e2e/pages/UserManagementPage.ts b/novalon-manage-web/e2e/pages/UserManagementPage.ts index 1a507f7..fb83f51 100644 --- a/novalon-manage-web/e2e/pages/UserManagementPage.ts +++ b/novalon-manage-web/e2e/pages/UserManagementPage.ts @@ -1,4 +1,4 @@ -import { Page, Locator } from '@playwright/test'; +import { Page, Locator, expect } from '@playwright/test'; export class UserManagementPage { readonly page: Page; @@ -24,8 +24,38 @@ export class UserManagementPage { } async goto() { - await this.page.goto('/users'); - await this.page.waitForLoadState('networkidle'); + try { + console.log('导航到用户管理页面...'); + await this.page.goto('/users'); + + await this.page.waitForLoadState('networkidle'); + + await this.table.waitFor({ state: 'visible', timeout: 10000 }); + + await expect(this.page).toHaveURL(/.*users/); + + console.log('用户管理页面加载完成'); + } catch (error) { + await this.page.screenshot({ path: `test-results/user-management-error-${Date.now()}.png` }); + + console.error('导航到用户管理页面失败:', error); + + throw new Error(`导航到用户管理页面失败: ${error instanceof Error ? error.message : String(error)}`); + } + } + + async waitForTableReady() { + await this.table.waitFor({ state: 'visible', timeout: 10000 }); + + await this.page.waitForFunction( + () => { + const rows = document.querySelectorAll('.el-table__body-wrapper tbody tr'); + return rows.length > 0; + }, + { timeout: 5000 } + ).catch(() => { + console.log('表格没有数据,继续执行'); + }); } async clickCreateUser() {