import { test, expect } from '@playwright/test'; import { LoginPage } from '../../novalon-manage-web/e2e/pages/LoginPage'; test.describe('UAT - 用户管理场景', () => { let loginPage: LoginPage; test.beforeEach(async ({ page }) => { loginPage = new LoginPage(page); await loginPage.goto(); }); test('访问用户管理页面', async ({ page }) => { await loginPage.login('admin', 'admin123'); await page.waitForLoadState('networkidle'); await page.goto('http://localhost:3003/users'); await page.waitForLoadState('networkidle'); const currentUrl = page.url(); console.log('当前URL:', currentUrl); expect(currentUrl).toContain('/users'); const pageTitle = await page.title(); console.log('页面标题:', pageTitle); expect(pageTitle).toBeTruthy(); }); test('用户管理页面元素检查', async ({ page }) => { await loginPage.login('admin', 'admin123'); await page.waitForLoadState('networkidle'); await page.goto('http://localhost:3003/users'); await page.waitForLoadState('networkidle'); const searchInput = page.locator('input[placeholder*="搜索"], input[placeholder*="用户名"]'); const addButton = page.locator('button:has-text("新增"), button:has-text("添加")'); const table = page.locator('table, .el-table'); console.log('搜索输入框存在:', await searchInput.count() > 0); console.log('添加按钮存在:', await addButton.count() > 0); console.log('表格存在:', await table.count() > 0); expect(await table.count()).toBeGreaterThan(0); }); test('搜索用户功能', async ({ page }) => { await loginPage.login('admin', 'admin123'); await page.waitForLoadState('networkidle'); await page.goto('http://localhost:3003/users'); await page.waitForLoadState('networkidle'); const searchInput = page.locator('input[placeholder*="搜索"], input[placeholder*="用户名"]'); if (await searchInput.count() > 0) { await searchInput.fill('admin'); await page.waitForTimeout(1000); const tableRows = page.locator('table tbody tr, .el-table__body tr'); const rowCount = await tableRows.count(); console.log('搜索结果行数:', rowCount); expect(rowCount).toBeGreaterThanOrEqual(0); } else { console.log('搜索输入框未找到,跳过搜索测试'); } }); });