import { test, expect } from '@playwright/test'; import { LoginPage } from './pages/LoginPage'; test.describe('登录稳定性测试', () => { let loginPage: LoginPage; test.beforeEach(async ({ page }) => { loginPage = new LoginPage(page); // 确保页面已经导航到正确的URL,避免localStorage访问错误 await page.goto('/'); await page.waitForLoadState('domcontentloaded'); }); // 连续执行10次登录测试,验证稳定性 for (let i = 1; i <= 10; i++) { test(`登录测试 #${i}`, async ({ page }) => { console.log(`=== 开始登录测试 #${i} ===`); await loginPage.goto(); await loginPage.login('admin', 'admin123'); const currentUrl = page.url(); console.log(`测试 #${i} - 当前URL:`, currentUrl); const token = await page.evaluate(() => localStorage.getItem('token')); console.log(`测试 #${i} - Token:`, token ? '存在' : '不存在'); expect(currentUrl).not.toContain('/login'); expect(token).toBeTruthy(); console.log(`✅ 测试 #${i} 通过\n`); }); } });