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:
@@ -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 }) => {
|
||||
|
||||
Reference in New Issue
Block a user