# 管理员端 Web 功能测试报告

> 测试日期：2026-06-20 13:09:23
> 测试范围：所有管理员端页面功能
> 测试工具：Playwright + Chromium (headless)
> 测试账号：admin@xiaoxue.edu.cn
> Base URL：http://127.0.0.1:3000

---

## 一、测试概览

| 指标 | 数值 |
|------|------|
| 总测试页面数 | 31 |
| 通过 | 29 |
| 失败 | 0 |
| 警告 | 0 |
| 通过率 | 93.5% |

---

## 二、页面测试详情

### Announcement Detail

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/announcements/bepepsukauda7qq3maftujc8` | 200 | passed | - |
| ✅ | `/admin/announcements/ann_class_g1c1` | 200 | passed | - |

### Announcements

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/announcements` | 200 | passed | - |

### Announcements (Public)

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/announcements` | 200 | passed | - |

### Attendance

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/attendance` | 200 | passed | - |

### Audit Logs

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/audit-logs` | 200 | passed | - |
| ✅ | `/admin/audit-logs/login-logs` | 200 | passed | - |
| ✅ | `/admin/audit-logs/data-changes` | 200 | passed | - |

### Course Plan Detail

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/course-plans/create` | 200 | passed | - |
| ✅ | `/admin/course-plans/cp_g1c1_chinese` | 200 | passed | - |

### Course Plans

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/course-plans` | 200 | passed | - |

### Dashboard

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/dashboard` | 200 | passed | - |

### Elective Edit

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/elective/create` | 200 | passed | - |

### Electives

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/elective` | 200 | passed | - |

### Files

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/files` | 200 | passed | - |

### Messages

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/messages` | 200 | passed | - |

### Profile

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/profile` | 200 | passed | - |

### Scheduling

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/scheduling/rules` | 200 | passed | - |
| ✅ | `/admin/scheduling/auto` | 200 | passed | - |
| ✅ | `/admin/scheduling/changes` | 200 | passed | - |

### School Management

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/school` | 200 | passed | 重定向到: http://127.0.0.1:3000/admin/school/classes |
| ✅ | `/admin/school/schools` | 200 | passed | 错误: ClientFetchError: Failed to fetch. Read more at https://errors.authjs.dev#autherror
    at fetchData (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:2829:22)
    at async getSession (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:2996:21)
    at async SessionProvider.useEffect [as _getSession] (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:3139:51) |
| ✅ | `/admin/school/grades` | 200 | passed | - |
| ✅ | `/admin/school/grades/insights` | 200 | passed | - |
| ✅ | `/admin/school/departments` | 200 | passed | - |
| ✅ | `/admin/school/classes` | 200 | passed | - |
| ✅ | `/admin/school/academic-year` | 200 | passed | - |

### Settings

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/settings` | 200 | passed | - |

### Users

| 状态 | URL | HTTP状态 | 结果 | 备注 |
|------|-----|----------|------|------|
| ✅ | `/admin/users/import` | 200 | passed | - |

---

## 五、改进建议

1. **认证与权限**：失败页面中若出现重定向至 /login，需检查会话过期策略与权限校验逻辑。
2. **HTTP 5xx 错误**：服务端错误需检查 Server Action 数据访问层与数据库连接。
3. **HTTP 4xx 错误**：客户端请求错误需检查路由参数与权限点映射。
4. **页面内容为空**：检查数据查询条件与渲染逻辑，确认数据源是否返回预期结果。
5. **控制台错误**：浏览器控制台报错需检查前端组件渲染与 API 调用。

---

*报告自动生成于 2026-06-20 13:09:23*