33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('用户相关页面', () => {
|
|
const userPages = [
|
|
{ path: '/my', title: '我的' },
|
|
{ path: '/my/learning', title: '学习进度' },
|
|
{ path: '/my/favorites', title: '收藏夹' },
|
|
{ path: '/my/member', title: '会员中心' },
|
|
{ path: '/my/settings', title: '设置' },
|
|
{ path: '/my/dashboard', title: '数据看板' },
|
|
{ path: '/notifications', title: '通知' },
|
|
];
|
|
|
|
for (const { path, title } of userPages) {
|
|
test.describe(`${path}`, () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto(path);
|
|
});
|
|
|
|
test('页面标题元素存在', async ({ page }) => {
|
|
const anyHeading = page.locator('h1, h2, h3, h4, [class*="text-2xl"], [class*="text-3xl"]');
|
|
const count = await anyHeading.count();
|
|
expect(count).toBeGreaterThanOrEqual(1);
|
|
});
|
|
|
|
test('无错误展示', async ({ page }) => {
|
|
await expect(page.locator('body')).not.toHaveText(/500/);
|
|
await expect(page.locator('body')).not.toHaveText(/Application Error/);
|
|
});
|
|
});
|
|
}
|
|
});
|