fix: 修复测试中操作admin用户导致后续测试失败的问题
- 修复密码哈希格式问题(从$2a$改为$2b$) - 更新所有测试用例密码从Test@123改为admin123 - 修改测试2.3、2.5、2.6,避免操作admin用户(第1行) - 在beforeEach中添加页面初始化,避免localStorage访问错误 - 添加测试数据清理机制
This commit is contained in:
@@ -19,6 +19,10 @@ test.describe('系统全面集成测试', () => {
|
||||
let fileManagementPage: FileManagementPage;
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
// 确保页面已经导航到正确的URL,避免localStorage访问错误
|
||||
await page.goto('/');
|
||||
await page.waitForLoadState('domcontentloaded');
|
||||
|
||||
loginPage = new LoginPage(page);
|
||||
userManagementPage = new UserManagementPage(page);
|
||||
roleManagementPage = new RoleManagementPage(page);
|
||||
@@ -32,7 +36,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('1. 用户认证流程测试', () => {
|
||||
test('1.1 正确的用户名和密码登录成功', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
|
||||
await expect(page).toHaveURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
await expect(page.locator('.dashboard')).toBeVisible();
|
||||
@@ -52,7 +56,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test('1.3 不存在的用户登录失败', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.usernameInput.fill('nonexistent');
|
||||
await loginPage.passwordInput.fill('Test@123');
|
||||
await loginPage.passwordInput.fill('admin123');
|
||||
await loginPage.loginButton.click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
@@ -63,7 +67,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test('1.4 空用户名或密码登录失败', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.usernameInput.fill('');
|
||||
await loginPage.passwordInput.fill('Test@123');
|
||||
await loginPage.passwordInput.fill('admin123');
|
||||
await loginPage.loginButton.click();
|
||||
|
||||
await expect(page.locator('.el-form-item__error')).toBeVisible({ timeout: 5000 });
|
||||
@@ -72,7 +76,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test('1.5 禁用用户登录失败', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.usernameInput.fill('disableduser');
|
||||
await loginPage.passwordInput.fill('Test@123');
|
||||
await loginPage.passwordInput.fill('admin123');
|
||||
await loginPage.loginButton.click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
@@ -82,7 +86,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('1.6 登出功能正常', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
|
||||
await expect(page).toHaveURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
@@ -97,7 +101,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('2. 用户管理流程测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -119,7 +123,7 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.clickCreateUser();
|
||||
await userManagementPage.fillUserForm({
|
||||
username: username,
|
||||
password: 'Test@123',
|
||||
password: 'admin123',
|
||||
email: `${username}@test.com`,
|
||||
phone: '13800138000',
|
||||
nickname: `测试用户${Date.now()}`
|
||||
@@ -139,7 +143,9 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.goto();
|
||||
await userManagementPage.waitForTableReady();
|
||||
|
||||
await userManagementPage.clickEditButton(1);
|
||||
// 不要编辑admin用户(第1行),否则可能影响后续测试
|
||||
// 编辑第2行的用户
|
||||
await userManagementPage.clickEditButton(2);
|
||||
|
||||
const newNickname = `更新昵称_${Date.now()}`;
|
||||
await userManagementPage.fillNickname(newNickname);
|
||||
@@ -157,7 +163,7 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.clickCreateUser();
|
||||
await userManagementPage.fillUserForm({
|
||||
username: username,
|
||||
password: 'Test@123',
|
||||
password: 'admin123',
|
||||
email: `${username}@test.com`,
|
||||
phone: '13800138000',
|
||||
nickname: `待删除用户${Date.now()}`
|
||||
@@ -180,7 +186,9 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.goto();
|
||||
await userManagementPage.waitForTableReady();
|
||||
|
||||
await userManagementPage.clickEditButton(1);
|
||||
// 不要编辑admin用户(第1行),否则可能影响后续测试
|
||||
// 编辑第2行的用户
|
||||
await userManagementPage.clickEditButton(2);
|
||||
await userManagementPage.selectRole('管理员');
|
||||
await userManagementPage.submitForm();
|
||||
|
||||
@@ -192,7 +200,9 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.goto();
|
||||
await userManagementPage.waitForTableReady();
|
||||
|
||||
await userManagementPage.clickStatusButton(1);
|
||||
// 不要禁用admin用户(第1行)和testadmin用户(第2行),否则后续测试无法登录
|
||||
// 使用第3行的用户进行测试
|
||||
await userManagementPage.clickStatusButton(3);
|
||||
|
||||
const success = await userManagementPage.waitForSuccessMessage();
|
||||
expect(success).toBeTruthy();
|
||||
@@ -202,7 +212,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('3. 角色管理流程测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -303,7 +313,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('4. 菜单管理流程测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -376,7 +386,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('5. 权限验证测试', () => {
|
||||
test('5.1 管理员可以访问所有功能', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await userManagementPage.goto();
|
||||
@@ -391,7 +401,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('5.2 普通用户只能访问授权功能', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('normaluser', 'Test@123');
|
||||
await loginPage.login('normaluser', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await page.goto('/user-management');
|
||||
@@ -413,7 +423,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('6. 操作日志测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -461,7 +471,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('7. 字典管理测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -517,7 +527,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('8. 系统配置测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -569,7 +579,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('9. 文件管理测试', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
@@ -631,7 +641,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('10. 异常场景测试', () => {
|
||||
test('10.1 网络错误处理', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await page.route('**/api/**', route => route.abort('failed'));
|
||||
@@ -643,13 +653,13 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('10.2 并发操作处理', async ({ page, context }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const page2 = await context.newPage();
|
||||
const loginPage2 = new LoginPage(page2);
|
||||
await loginPage2.goto();
|
||||
await loginPage2.login('admin', 'Test@123');
|
||||
await loginPage2.login('admin', 'admin123');
|
||||
await page2.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await userManagementPage.goto();
|
||||
@@ -663,7 +673,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('10.3 数据验证错误', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await userManagementPage.goto();
|
||||
@@ -682,7 +692,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('10.4 会话超时处理', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await page.evaluate(() => {
|
||||
@@ -697,7 +707,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('10.5 权限不足操作', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('normaluser', 'Test@123');
|
||||
await loginPage.login('normaluser', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const response = await page.request.post('/api/users', {
|
||||
@@ -716,7 +726,7 @@ test.describe('系统全面集成测试', () => {
|
||||
const startTime = Date.now();
|
||||
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const loadTime = Date.now() - startTime;
|
||||
@@ -726,7 +736,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('11.2 大数据量查询性能', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const startTime = Date.now();
|
||||
@@ -741,7 +751,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('11.3 并发请求处理', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const requests = Array(10).fill(null).map(() =>
|
||||
@@ -759,7 +769,7 @@ test.describe('系统全面集成测试', () => {
|
||||
test.describe('12. 数据一致性测试', () => {
|
||||
test('12.1 创建后立即查询数据一致性', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const timestamp = Date.now();
|
||||
@@ -769,7 +779,7 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.clickCreateUser();
|
||||
await userManagementPage.fillUserForm({
|
||||
username: username,
|
||||
password: 'Test@123',
|
||||
password: 'admin123',
|
||||
email: `${username}@test.com`,
|
||||
phone: '13800138000',
|
||||
nickname: `一致性测试用户${timestamp}`
|
||||
@@ -788,7 +798,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('12.2 更新后数据一致性', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
await userManagementPage.goto();
|
||||
@@ -814,7 +824,7 @@ test.describe('系统全面集成测试', () => {
|
||||
|
||||
test('12.3 删除后数据不可见', async ({ page }) => {
|
||||
await loginPage.goto();
|
||||
await loginPage.login('admin', 'Test@123');
|
||||
await loginPage.login('admin', 'admin123');
|
||||
await page.waitForURL(/\/(dashboard|\/)$/, { timeout: 10000 });
|
||||
|
||||
const timestamp = Date.now();
|
||||
@@ -824,7 +834,7 @@ test.describe('系统全面集成测试', () => {
|
||||
await userManagementPage.clickCreateUser();
|
||||
await userManagementPage.fillUserForm({
|
||||
username: username,
|
||||
password: 'Test@123',
|
||||
password: 'admin123',
|
||||
email: `${username}@test.com`,
|
||||
phone: '13800138000',
|
||||
nickname: `删除测试用户${timestamp}`
|
||||
|
||||
Reference in New Issue
Block a user