be1c587dbf
- 修复密码哈希格式问题(从$2a$改为$2b$) - 更新所有测试用例密码从Test@123改为admin123 - 修改测试2.3、2.5、2.6,避免操作admin用户(第1行) - 在beforeEach中添加页面初始化,避免localStorage访问错误 - 添加测试数据清理机制
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
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`);
|
|
});
|
|
}
|
|
});
|