refactor(e2e): 删除重复的登录测试

- 删除 login-test.spec.ts
- 删除 simple-login.spec.ts
- 删除 login-stability.spec.ts
- 删除 login-diagnostic.spec.ts
- 保留 role-based-tests/scenarios/authentication/login-flow.spec.ts

原因:避免测试重复,保留最完整的角色基础登录测试
This commit is contained in:
张翔
2026-04-07 08:15:36 +08:00
parent 37b829716b
commit 477e428e95
4 changed files with 0 additions and 236 deletions
@@ -1,117 +0,0 @@
import { test, expect } from '@playwright/test';
test.describe('登录诊断测试', () => {
test('诊断登录流程', async ({ page }) => {
console.log('=== 开始诊断登录流程 ===');
// 导航到登录页面
await page.goto('/login');
console.log('1. 导航到登录页面');
// 等待页面加载完成
await page.waitForLoadState('networkidle');
console.log('2. 页面加载完成');
// 监听API响应
const [response] = await Promise.all([
page.waitForResponse(resp =>
resp.url().includes('/api/auth/login') &&
resp.request().method() === 'POST',
{ timeout: 15000 }
).catch(err => {
console.log(' ❌ 等待登录API响应超时:', err.message);
return null;
}),
(async () => {
// 填写登录表单
await page.fill('input[placeholder="请输入用户名"]', 'admin');
console.log('3. 填写用户名: admin');
await page.fill('input[placeholder="请输入密码"]', 'admin123');
console.log('4. 填写密码: admin123');
// 点击登录按钮
await page.click('button:has-text("登录")');
console.log('5. 点击登录按钮');
})()
]);
if (response) {
console.log(' ✅ 捕获到登录API响应');
console.log(' - 状态码:', response.status());
console.log(' - URL:', response.url());
try {
const responseBody = await response.json();
console.log(' - 响应体:', JSON.stringify(responseBody, null, 2));
// 检查响应格式
if (responseBody.token) {
console.log(' ✅ 响应包含token');
} else {
console.log(' ❌ 响应不包含token');
}
if (responseBody.userId) {
console.log(' ✅ 响应包含userId:', responseBody.userId);
} else {
console.log(' ⚠️ 响应不包含userId');
}
if (responseBody.username) {
console.log(' ✅ 响应包含username:', responseBody.username);
} else {
console.log(' ⚠️ 响应不包含username');
}
} catch (err) {
console.log(' ❌ 无法解析响应体:', err.message);
}
} else {
console.log(' ❌ 没有捕获到登录API响应');
}
// 等待一段时间,观察页面变化
await page.waitForTimeout(3000);
// 检查当前URL
const currentUrl = page.url();
console.log('6. 当前URL:', currentUrl);
// 检查localStorage中的token
const token = await page.evaluate(() => localStorage.getItem('token'));
console.log('7. Token in localStorage:', token ? '✅ 存在' : '❌ 不存在');
if (token) {
console.log(' - Token前20字符:', token.substring(0, 20));
}
// 检查localStorage中的userId
const userId = await page.evaluate(() => localStorage.getItem('userId'));
console.log('8. UserId in localStorage:', userId || '❌ 不存在');
// 检查localStorage中的username
const username = await page.evaluate(() => localStorage.getItem('username'));
console.log('9. Username in localStorage:', username || '❌ 不存在');
// 检查是否有错误消息
const errorMessages = await page.locator('.el-message--error').allTextContents();
if (errorMessages.length > 0) {
console.log(' ⚠️ 发现错误消息:', errorMessages);
}
// 检查成功消息
const successMessages = await page.locator('.el-message--success').allTextContents();
if (successMessages.length > 0) {
console.log(' ✅ 发现成功消息:', successMessages);
}
// 截图
await page.screenshot({ path: `test-results/login-diagnostic-${Date.now()}.png` });
console.log('10. 截图已保存');
console.log('=== 诊断完成 ===');
// 验证登录是否成功
expect(token).toBeTruthy();
expect(currentUrl).not.toContain('/login');
});
});
@@ -1,35 +0,0 @@
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`);
});
}
});
-34
View File
@@ -1,34 +0,0 @@
import { test, expect } from '@playwright/test'
test.describe('登录签名测试', () => {
test('登录功能应该正常工作', async ({ page }) => {
page.on('console', msg => {
console.log('BROWSER CONSOLE:', msg.type(), msg.text())
})
page.on('pageerror', error => {
console.error('PAGE ERROR:', error.message)
})
page.on('requestfailed', request => {
console.error('REQUEST FAILED:', request.url(), request.failure()?.errorText)
})
await page.goto('/login')
await page.fill('input[placeholder="请输入用户名"]', 'admin')
await page.fill('input[placeholder="请输入密码"]', 'admin123')
await page.click('button:has-text("登录")')
await page.waitForURL('**/dashboard', { timeout: 10000 })
console.log('Current URL after login:', page.url())
const token = await page.evaluate(() => localStorage.getItem('token'))
console.log('Token in localStorage:', token ? 'exists' : 'not found')
expect(page.url()).toContain('/dashboard')
expect(token).toBeTruthy()
})
})
@@ -1,50 +0,0 @@
import { test, expect } from '@playwright/test';
import { LoginPage } from './pages/LoginPage';
import { DashboardPage } from './pages/DashboardPage';
import { UserManagementPage } from './pages/UserManagementPage';
test.describe('简单登录测试', () => {
let loginPage: LoginPage;
let dashboardPage: DashboardPage;
let userManagementPage: UserManagementPage;
test.beforeEach(async ({ page }) => {
loginPage = new LoginPage(page);
dashboardPage = new DashboardPage(page);
userManagementPage = new UserManagementPage(page);
// 清理localStorage
await page.goto('/');
await page.evaluate(() => localStorage.clear());
// 重新登录
await loginPage.goto();
await loginPage.login('e2e_test_user', 'admin123');
});
test('登录后导航到用户管理页面', async ({ page }) => {
await dashboardPage.navigateToUserManagement();
await expect(page).toHaveURL(/.*users/);
// 验证表格存在
await expect(userManagementPage.table).toBeVisible();
// 验证"新增用户"按钮存在
await expect(userManagementPage.createUserButton).toBeVisible();
});
test('点击新增用户按钮', async ({ page }) => {
await dashboardPage.navigateToUserManagement();
// 点击新增用户按钮
await userManagementPage.clickCreateUser();
// 验证对话框出现
const dialog = page.locator('.el-dialog');
await expect(dialog).toBeVisible();
// 验证对话框标题
const dialogTitle = dialog.locator('.el-dialog__title');
await expect(dialogTitle).toContainText('新增用户');
});
});