08ea5fbe98
添加用户管理视图、API和状态管理文件
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { UserPage } from './pages/user-page';
|
|
|
|
test.describe('用户中心页面测试', () => {
|
|
let userPage: UserPage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
userPage = new UserPage(page);
|
|
await userPage.navigate();
|
|
});
|
|
|
|
test('TC-008: 用户信息显示测试', async ({ page }) => {
|
|
const pageTitle = await userPage.getPageTitle();
|
|
expect(pageTitle).toContain('我的');
|
|
|
|
const isAvatarVisible = await userPage.isUserAvatarVisible();
|
|
expect(isAvatarVisible).toBe(true);
|
|
|
|
const userName = await userPage.getUserName();
|
|
expect(userName).toBeTruthy();
|
|
|
|
const userBio = await userPage.getUserBio();
|
|
expect(userBio).toBeTruthy();
|
|
|
|
const statValues = await userPage.getStatValues();
|
|
expect(statValues.length).toBeGreaterThan(0);
|
|
|
|
const statLabels = await userPage.getStatLabels();
|
|
expect(statLabels.length).toBeGreaterThan(0);
|
|
});
|
|
|
|
test('TC-009: 菜单导航测试', async ({ page }) => {
|
|
const menuCount = 3;
|
|
|
|
for (let i = 0; i < menuCount; i++) {
|
|
const menuTitle = await userPage.getMenuItemTitle(i);
|
|
console.log(`Menu ${i} title:`, menuTitle);
|
|
expect(menuTitle).toBeTruthy();
|
|
|
|
await userPage.clickMenuItem(i);
|
|
|
|
await page.waitForTimeout(1000);
|
|
}
|
|
});
|
|
});
|