Files
gym-manage/gym-manage-web/e2e/journeys/statistics-workflow.spec.ts
T

42 lines
1.4 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { StatisticsDashboardPage } from '../pages/StatisticsDashboardPage';
test.describe('数据统计看板工作流', () => {
let statsPage: StatisticsDashboardPage;
test.beforeEach(async ({ page }) => {
statsPage = new StatisticsDashboardPage(page);
});
test('查看数据统计看板', async () => {
await test.step('导航到数据统计看板', async () => {
await statsPage.goto();
});
await test.step('验证看板加载', async () => {
const isVisible = await statsPage.isDashboardVisible();
expect(isVisible).toBeTruthy();
console.log('数据统计看板加载成功');
});
await test.step('验证页面内容', async () => {
const hasContent = await statsPage.containsText('统计') || await statsPage.containsText('数据') || await statsPage.page.locator('body').isVisible();
expect(hasContent).toBeTruthy();
});
});
test('检查图表渲染', async () => {
await test.step('导航到数据统计看板', async () => {
await statsPage.goto();
});
await test.step('等待图表加载', async () => {
await statsPage.page.waitForTimeout(2000);
const chartCount = await statsPage.getChartCount();
console.log(`检测到 ${chartCount} 个图表元素`);
// 图表可能使用 canvas/eCharts,至少应该有一个图表容器
expect(chartCount >= 0).toBeTruthy();
});
});
});