fix: 修复E2E测试选择器和路径问题
问题分析: 1. 登录按钮使用native-type而非type属性 2. 登录后跳转到/而非/dashboard 3. 路径映射错误:/user-management应为/users等 修复内容: - 登录流程测试:修复按钮选择器和URL断言 - 登出流程测试:修复下拉菜单选择器 - 用户管理测试:修正路径为/users - 权限边界测试:修正路径为/users、/roles、/menus - 移除不存在的data-testid选择器 - 添加适当的等待和错误消息匹配
This commit is contained in:
+14
-10
@@ -13,24 +13,26 @@ test.describe('登出流程测试', () => {
|
||||
test('用户登出成功', async ({ page }) => {
|
||||
await page.goto('/dashboard');
|
||||
|
||||
await page.click('[data-testid="user-menu"]');
|
||||
await page.click('[data-testid="logout-button"]');
|
||||
await page.click('.el-dropdown');
|
||||
await page.waitForSelector('.el-dropdown-menu', { state: 'visible' });
|
||||
await page.click('text=退出登录');
|
||||
|
||||
await expect(page).toHaveURL(/\/login/, { timeout: 10000 });
|
||||
|
||||
const loginButton = page.locator('button[type="submit"]');
|
||||
const loginButton = page.locator('button:has-text("登录")');
|
||||
await expect(loginButton).toBeVisible();
|
||||
});
|
||||
|
||||
test('登出后无法访问受保护页面', async ({ page }) => {
|
||||
await page.goto('/dashboard');
|
||||
|
||||
await page.click('[data-testid="user-menu"]');
|
||||
await page.click('[data-testid="logout-button"]');
|
||||
await page.click('.el-dropdown');
|
||||
await page.waitForSelector('.el-dropdown-menu', { state: 'visible' });
|
||||
await page.click('text=退出登录');
|
||||
|
||||
await expect(page).toHaveURL(/\/login/);
|
||||
|
||||
await page.goto('/user-management');
|
||||
await page.goto('/users');
|
||||
|
||||
await expect(page).toHaveURL(/\/login/);
|
||||
});
|
||||
@@ -38,8 +40,9 @@ test.describe('登出流程测试', () => {
|
||||
test('登出后Token被清除', async ({ page, context }) => {
|
||||
await page.goto('/dashboard');
|
||||
|
||||
await page.click('[data-testid="user-menu"]');
|
||||
await page.click('[data-testid="logout-button"]');
|
||||
await page.click('.el-dropdown');
|
||||
await page.waitForSelector('.el-dropdown-menu', { state: 'visible' });
|
||||
await page.click('text=退出登录');
|
||||
|
||||
await expect(page).toHaveURL(/\/login/);
|
||||
|
||||
@@ -63,8 +66,9 @@ test.describe('登出流程测试', () => {
|
||||
|
||||
await page.goto('/dashboard');
|
||||
|
||||
await page.click('[data-testid="user-menu"]');
|
||||
await page.click('[data-testid="logout-button"]');
|
||||
await page.click('.el-dropdown');
|
||||
await page.waitForSelector('.el-dropdown-menu', { state: 'visible' });
|
||||
await page.click('text=退出登录');
|
||||
|
||||
await expect(page).toHaveURL(/\/login/, { timeout: 10000 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user