fix: 修复E2E测试选择器和路径问题
问题分析: 1. 登录按钮使用native-type而非type属性 2. 登录后跳转到/而非/dashboard 3. 路径映射错误:/user-management应为/users等 修复内容: - 登录流程测试:修复按钮选择器和URL断言 - 登出流程测试:修复下拉菜单选择器 - 用户管理测试:修正路径为/users - 权限边界测试:修正路径为/users、/roles、/menus - 移除不存在的data-testid选择器 - 添加适当的等待和错误消息匹配
This commit is contained in:
+9
-9
@@ -13,17 +13,17 @@ test.describe('权限边界验证测试', () => {
|
||||
const permissionHelper = createPermissionHelper(page);
|
||||
const adminRole = RoleFactory.getRole('admin');
|
||||
|
||||
await permissionHelper.verifyCanAccess('/user-management');
|
||||
await permissionHelper.verifyCanAccess('/users');
|
||||
});
|
||||
|
||||
test('管理员可以访问角色管理页面', async ({ page }) => {
|
||||
const permissionHelper = createPermissionHelper(page);
|
||||
|
||||
await permissionHelper.verifyCanAccess('/role-management');
|
||||
await permissionHelper.verifyCanAccess('/roles');
|
||||
});
|
||||
|
||||
test('管理员可以创建用户', async ({ page }) => {
|
||||
await page.goto('/user-management');
|
||||
await page.goto('/users');
|
||||
|
||||
const createButton = page.locator('button:has-text("新增")');
|
||||
await expect(createButton).toBeVisible();
|
||||
@@ -31,14 +31,14 @@ test.describe('权限边界验证测试', () => {
|
||||
});
|
||||
|
||||
test('管理员可以编辑用户', async ({ page }) => {
|
||||
await page.goto('/user-management');
|
||||
await page.goto('/users');
|
||||
|
||||
const editButton = page.locator('button:has-text("编辑")').first();
|
||||
await expect(editButton).toBeVisible();
|
||||
});
|
||||
|
||||
test('管理员可以删除用户', async ({ page }) => {
|
||||
await page.goto('/user-management');
|
||||
await page.goto('/users');
|
||||
|
||||
const deleteButton = page.locator('button:has-text("删除")').first();
|
||||
await expect(deleteButton).toBeVisible();
|
||||
@@ -54,13 +54,13 @@ test.describe('权限边界验证测试', () => {
|
||||
const permissionHelper = createPermissionHelper(page);
|
||||
const userRole = RoleFactory.getRole('user');
|
||||
|
||||
await permissionHelper.verifyCannotAccess('/user-management');
|
||||
await permissionHelper.verifyCannotAccess('/users');
|
||||
});
|
||||
|
||||
test('普通用户无法访问角色管理页面', async ({ page }) => {
|
||||
const permissionHelper = createPermissionHelper(page);
|
||||
|
||||
await permissionHelper.verifyCannotAccess('/role-management');
|
||||
await permissionHelper.verifyCannotAccess('/roles');
|
||||
});
|
||||
|
||||
test('普通用户可以访问个人中心', async ({ page }) => {
|
||||
@@ -90,7 +90,7 @@ test.describe('权限边界验证测试', () => {
|
||||
test('测试用户无法访问用户管理页面', async ({ page }) => {
|
||||
const permissionHelper = createPermissionHelper(page);
|
||||
|
||||
await permissionHelper.verifyCannotAccess('/user-management');
|
||||
await permissionHelper.verifyCannotAccess('/users');
|
||||
});
|
||||
|
||||
test('测试用户可以访问测试页面', async ({ page }) => {
|
||||
@@ -104,7 +104,7 @@ test.describe('权限边界验证测试', () => {
|
||||
test.describe('跨角色权限对比', () => {
|
||||
test('不同角色访问权限对比', async ({ page, context }) => {
|
||||
const roles = ['admin', 'user', 'test'];
|
||||
const protectedPaths = ['/user-management', '/role-management', '/menu-management'];
|
||||
const protectedPaths = ['/users', '/roles', '/menus'];
|
||||
|
||||
for (const roleName of roles) {
|
||||
const role = RoleFactory.getRole(roleName);
|
||||
|
||||
Reference in New Issue
Block a user