kindergarten_java/reading-platform-frontend/tests/e2e/admin/debug-course-list.spec.ts

55 lines
1.7 KiB
TypeScript
Raw Permalink Normal View History

/**
* API
*/
import { test, expect } from '@playwright/test';
import { loginAsAdmin } from './helpers';
test.describe('API 调试测试', () => {
test('调试课程列表 API', async ({ page }) => {
test.setTimeout(60000);
// 步骤 1: 登录
console.log('步骤 1: 开始登录...');
await loginAsAdmin(page);
await page.waitForTimeout(2000);
// 验证登录成功
const currentUrl = page.url();
console.log('登录后的 URL:', currentUrl);
// 步骤 2: 强制导航到课程列表页面
console.log('导航到课程列表页面...');
await page.goto('/admin/courses', { timeout: 30000, waitUntil: 'networkidle' });
await page.waitForTimeout(5000);
// 验证 URL
const courseListUrl = page.url();
console.log('课程列表页面 URL:', courseListUrl);
// 步骤 3: 检查表格状态
const table = page.locator('.ant-table').first();
const isTableAttached = await table.isVisible().catch(() => false);
console.log('表格是否已附加到 DOM:', isTableAttached);
// 检查是否有课程数据
const rows = table.locator('tbody tr');
const rowCount = await rows.count();
console.log('表格行数:', rowCount);
if (rowCount > 0) {
// 输出第一行的内容
const firstRowText = await rows.first().textContent();
console.log('第一行内容:', firstRowText);
} else {
// 检查是否是空表
const emptyText = await table.locator('.ant-empty').textContent();
console.log('空表提示:', emptyText);
}
// 步骤 4: 截图
await page.screenshot({ path: 'test-results/debug-course-list.png' });
console.log('调试完成,截图已保存');
});
});