| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { test, expect } from '../utils/test-setup';
- import testUsers from '../../fixtures/test-users.json';
- test.describe('用户登出流程', () => {
- test.beforeEach(async ({ loginPage }) => {
- await loginPage.goto();
- await loginPage.login(testUsers.admin.username, testUsers.admin.password);
- });
- test('成功登出', async ({ page }) => {
- // 点击用户菜单(需要根据实际UI调整选择器)
- const userMenu = page.locator('[data-testid="user-menu"]');
- await userMenu.click();
- // 点击登出按钮
- const logoutButton = page.getByRole('button', { name: '登出' });
- await logoutButton.click();
- // 验证重定向到登录页面
- await expect(page).toHaveURL('/login');
- await expect(page.getByText('欢迎回来')).toBeVisible();
- });
- test('登出后无法访问受保护页面', async ({ page }) => {
- // 先登出
- const userMenu = page.locator('[data-testid="user-menu"]');
- await userMenu.click();
- const logoutButton = page.getByRole('button', { name: '登出' });
- await logoutButton.click();
- // 尝试访问受保护页面
- await page.goto('/dashboard');
- // 应该被重定向到登录页面
- await expect(page).toHaveURL(/\/login/);
- });
- });
|