fix: correct phone field filling logic in UserManagementPage

- Fix fillUserForm method to use correct input indices
- Add localStorage cleanup in beforeEach hook
- Update all tests to use e2e_test_user account
- Add debug and simple login tests for troubleshooting

Root cause: Phone field was not being filled correctly, causing 400 error
from backend with message '手机号不能为空'
This commit is contained in:
张翔
2026-04-03 19:09:45 +08:00
parent e430865d8f
commit 229fb77e76
4 changed files with 175 additions and 11 deletions
+31 -3
View File
@@ -14,8 +14,13 @@ test.describe('用户管理 E2E 测试', () => {
dashboardPage = new DashboardPage(page);
userManagementPage = new UserManagementPage(page);
// 清理localStorage
await page.goto('/');
await page.evaluate(() => localStorage.clear());
// 重新登录
await loginPage.goto();
await loginPage.login('admin', 'admin123');
await loginPage.login('e2e_test_user', 'admin123');
});
test('创建用户完整流程', async ({ page }) => {
@@ -68,15 +73,38 @@ test.describe('用户管理 E2E 测试', () => {
test('删除用户流程', async ({ page }) => {
await dashboardPage.navigateToUserManagement();
const username = await userManagementPage.getUserName(1);
// 先创建一个测试用户
await userManagementPage.clickCreateUser();
const timestamp = Date.now();
const userData = {
username: `delete_test_${timestamp}`,
nickname: `待删除用户${timestamp}`,
email: `delete_${timestamp}@example.com`,
phone: '13800138000',
password: 'Test123!@#',
confirmPassword: 'Test123!@#',
};
await userManagementPage.fillUserForm(userData);
await userManagementPage.submitForm();
await expect(userManagementPage.successMessage).toBeVisible();
// 等待表格刷新
await page.waitForTimeout(2000);
// 搜索刚创建的用户
await userManagementPage.search(userData.username);
await page.waitForTimeout(1000);
// 删除该用户
await userManagementPage.deleteUser(1);
await userManagementPage.confirmDelete();
await expect(userManagementPage.successMessage).toBeVisible();
// 验证用户已被删除
await userManagementPage.reload();
await expect(userManagementPage.table).not.toContainText(username);
await userManagementPage.search(userData.username);
await expect(userManagementPage.table).not.toContainText(userData.username);
});
test('搜索用户功能', async ({ page }) => {