import { test, expect } from '../test-fixtures'; test.describe('@regression 回归测试', () => { test.beforeEach(async ({ pageObjects, testData, testLogger }) => { testLogger.startTest('回归测试'); testLogger.startStep('登录系统'); await pageObjects.loginPage.navigate(); await pageObjects.loginPage.login(testData.admin.username, testData.admin.password); await pageObjects.dashboardPage.waitForLoad(); }); test.afterEach(async ({ testLogger, helpers }) => { await helpers.screenshot.takeScreenshot('after-test'); testLogger.endTest('回归测试', 'passed'); }); test('@normal 用户管理 - 创建用户', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到用户管理页面'); await pageObjects.dashboardPage.navigateToUserManagement(); await pageObjects.userManagementPage.waitForLoad(); testLogger.startStep('创建新用户'); const userData = { username: `test_user_${Date.now()}`, realName: '测试用户', email: 'test@example.com', phone: '13800138000', status: 1 }; await pageObjects.userManagementPage.createUser(userData); testLogger.startStep('验证用户创建成功'); const userExists = await pageObjects.userManagementPage.searchUser(userData.username); expect(userExists).toBeTruthy(); testLogger.endStep('验证用户创建成功', 'passed'); }); test('@normal 用户管理 - 编辑用户', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到用户管理页面'); await pageObjects.dashboardPage.navigateToUserManagement(); await pageObjects.userManagementPage.waitForLoad(); testLogger.startStep('编辑用户'); const userData = { username: testData.user.username, realName: '更新后的用户名', email: 'updated@example.com' }; await pageObjects.userManagementPage.editUser(userData.username, userData); testLogger.startStep('验证用户编辑成功'); const updatedUser = await pageObjects.userManagementPage.searchUser(userData.username); expect(updatedUser).toBeTruthy(); testLogger.endStep('验证用户编辑成功', 'passed'); }); test('@normal 用户管理 - 删除用户', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到用户管理页面'); await pageObjects.dashboardPage.navigateToUserManagement(); await pageObjects.userManagementPage.waitForLoad(); testLogger.startStep('创建测试用户'); const userData = { username: `test_delete_${Date.now()}`, realName: '待删除用户', email: 'delete@example.com', phone: '13800138000', status: 1 }; await pageObjects.userManagementPage.createUser(userData); testLogger.startStep('删除用户'); await pageObjects.userManagementPage.deleteUser(userData.username); testLogger.startStep('验证用户删除成功'); const userExists = await pageObjects.userManagementPage.searchUser(userData.username); expect(userExists).toBeFalsy(); testLogger.endStep('验证用户删除成功', 'passed'); }); test('@normal 角色管理 - 创建角色', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到角色管理页面'); await pageObjects.dashboardPage.navigateToRoleManagement(); await pageObjects.roleManagementPage.waitForLoad(); testLogger.startStep('创建新角色'); const roleData = { roleName: '测试角色', roleCode: 'test_role', description: '测试角色描述', status: 1 }; await pageObjects.roleManagementPage.createRole(roleData); testLogger.startStep('验证角色创建成功'); const roleExists = await pageObjects.roleManagementPage.searchRole(roleData.roleCode); expect(roleExists).toBeTruthy(); testLogger.endStep('验证角色创建成功', 'passed'); }); test('@normal 角色管理 - 分配权限', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到角色管理页面'); await pageObjects.dashboardPage.navigateToRoleManagement(); await pageObjects.roleManagementPage.waitForLoad(); testLogger.startStep('分配权限'); const permissions = ['dashboard:view', 'user:view', 'user:create']; await pageObjects.roleManagementPage.assignPermissions(testData.role.roleCode, permissions); testLogger.startStep('验证权限分配成功'); const assignedPermissions = await pageObjects.roleManagementPage.getRolePermissions(testData.role.roleCode); expect(assignedPermissions).toContain('dashboard:view'); testLogger.endStep('验证权限分配成功', 'passed'); }); test('@normal 菜单管理 - 创建菜单', async ({ pageObjects, testData, testLogger }) => { testLogger.startStep('导航到菜单管理页面'); await pageObjects.dashboardPage.navigateToMenuManagement(); await pageObjects.menuManagementPage.waitForLoad(); testLogger.startStep('创建新菜单'); const menuData = { name: '测试菜单', code: 'test_menu', path: '/test/menu', icon: 'SettingOutlined', sortOrder: 1, status: 1, parentId: 0 }; await pageObjects.menuManagementPage.createMenu(menuData); testLogger.startStep('验证菜单创建成功'); const menuExists = await pageObjects.menuManagementPage.searchMenu(menuData.code); expect(menuExists).toBeTruthy(); testLogger.endStep('验证菜单创建成功', 'passed'); }); });