kindergarten_java/reading-platform-frontend/tests/e2e/admin/debug-course-list.spec.ts
En 938503f2b8 chore: 更新启动脚本使用 Java (Spring Boot) 后端
- 修改后端目录从 reading-platform-backend 改为 reading-platform-java
- 修改后端端口从 3000 改为 8080
- 修改启动命令从 npm run start:dev 改为 mvn spring-boot:run
- 添加 JAVA_HOME 自动检测和设置(默认使用 /f/Java/jdk-17)
- 修改日志文件从 reading-platform-backend.log 改为 reading-platform-java.log
- 修改健康检查接口为 /actuator/health
- 增加启动等待超时时间到 60 秒(Java 启动较慢)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:35:30 +08:00

55 lines
1.7 KiB
TypeScript

/**
* 调试课程列表 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('调试完成,截图已保存');
});
});