import { test, expect } from '@playwright/test'; import { LoginPage } from '../pages/LoginPage'; import { OperationLogPage } from '../pages/OperationLogPage'; import { LoginLogPage } from '../pages/LoginLogPage'; import { ExceptionLogPage } from '../pages/ExceptionLogPage'; test.describe('User Journey: 审计日志查看', () => { test.describe.configure({ mode: 'serial' }); test('UJ-08: 操作日志查看与搜索', async ({ page }) => { const loginPage = new LoginPage(page); const opLogPage = new OperationLogPage(page); await test.step('登录', async () => { await loginPage.goto(); await loginPage.login('admin', 'Test@123'); }); await test.step('导航到操作日志', async () => { await opLogPage.goto(); }); await test.step('验证日志表格加载', async () => { await expect(opLogPage.table).toBeVisible({ timeout: 15000 }); }); await test.step('搜索日志', async () => { await opLogPage.searchByKeyword('admin'); await page.waitForLoadState('networkidle'); }); await test.step('刷新日志', async () => { await opLogPage.reload(); }); }); test('UJ-09: 登录日志查看', async ({ page }) => { const loginPage = new LoginPage(page); const loginLogPage = new LoginLogPage(page); await test.step('登录', async () => { await loginPage.goto(); await loginPage.login('admin', 'Test@123'); }); await test.step('导航到登录日志', async () => { await loginLogPage.goto(); }); await test.step('验证日志表格加载', async () => { await expect(loginLogPage.table).toBeVisible({ timeout: 15000 }); }); await test.step('搜索日志', async () => { await loginLogPage.searchByKeyword('admin'); await page.waitForLoadState('networkidle'); }); }); test('UJ-10: 异常日志查看', async ({ page }) => { const loginPage = new LoginPage(page); const exLogPage = new ExceptionLogPage(page); await test.step('登录', async () => { await loginPage.goto(); await loginPage.login('admin', 'Test@123'); }); await test.step('导航到异常日志', async () => { await exLogPage.goto(); }); await test.step('验证日志表格加载', async () => { await expect(exLogPage.table).toBeVisible({ timeout: 15000 }); }); await test.step('搜索日志', async () => { await exLogPage.search('error'); await page.waitForLoadState('networkidle'); }); }); });