kindergarten_java/lesingle-edu-reading-platform-frontend/tests/e2e/school/school-full-flow.spec.ts
En 40589f59e7 chore: 重命名项目目录
前后端目录重命名:
- reading-platform-java/ → lesingle-edu-reading-platform-backend/
- reading-platform-frontend/ → lesingle-edu-reading-platform-frontend/

更新相关文件:
- 所有 shell 脚本中的目录引用
- pom.xml 和 application.yml 中的项目名称
- package.json 中的项目名称
- .claude/CLAUDE.md 中的路径引用
- README 文档中的路径引用
2026-03-26 11:31:47 +08:00

85 lines
3.5 KiB
TypeScript

/**
* 学校端 E2E 测试 - 完整业务流程
*/
import { test, expect } from '@playwright/test';
import { loginAsSchool, clickSubMenu, logout } from './helpers';
import { SCHOOL_CONFIG } from './fixtures';
test.describe('学校端完整业务流程测试', () => {
test('学校端完整业务流程', async ({ page }) => {
test.slow();
// ========== 登录 ==========
await loginAsSchool(page);
await page.waitForTimeout(1000);
// 截图:仪表盘
await page.screenshot({ path: 'test-results/school-full-flow-01-dashboard.png' });
// ========== 班级管理 ==========
await clickSubMenu(page, '人员管理', '班级管理');
await page.waitForURL('**/school/classes*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-02-classes.png' });
// ========== 学生管理 ==========
await clickSubMenu(page, '人员管理', '学生管理');
await page.waitForURL('**/school/students*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-03-students.png' });
// ========== 教师管理 ==========
await clickSubMenu(page, '人员管理', '教师管理');
await page.waitForURL('**/school/teachers*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-04-teachers.png' });
// ========== 家长管理 ==========
await clickSubMenu(page, '人员管理', '家长管理');
await page.waitForURL('**/school/parents*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-05-parents.png' });
// ========== 课程管理 ==========
await clickSubMenu(page, '教学管理', '课程管理');
await page.waitForURL('**/courses*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-06-courses.png' });
// ========== 校本课程包 ==========
await clickSubMenu(page, '教学管理', '校本课程包');
await page.waitForURL('**/school-courses*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-07-school-courses.png' });
// ========== 阅读任务 ==========
await clickSubMenu(page, '教学管理', '阅读任务');
await page.waitForURL('**/school/tasks*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-08-tasks.png' });
// ========== 成长档案 ==========
await clickSubMenu(page, '数据中心', '成长档案');
await page.waitForURL('**/school/growth*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-09-growth.png' });
// ========== 系统设置 ==========
await clickSubMenu(page, '系统管理', '系统设置');
await page.waitForURL('**/school/settings*', { timeout: 10000 });
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-10-settings.png' });
// ========== 退出登录 ==========
await logout(page);
await page.waitForTimeout(1000);
await page.screenshot({ path: 'test-results/school-full-flow-11-login.png' });
test.info().annotations.push({
type: 'success',
description: '学校端完整业务流程测试完成',
});
});
});