Files
NextEdu/webtest/dashboard_0.1.0.json
SpecialX d884c6d513
Some checks failed
CI / scheduled-backup (push) Failing after 36s
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
test: update and add E2E, integration, visual, and webapp tests
- Update E2E tests: announcements, auth, auth-business-flow, full-route-regression, grades, navigation, smoke-auth, teacher-web-test

- Update integration tests: api-ai-chat, api-onboarding-complete, api-onboarding-status, proxy-guard, integration setup

- Update visual regression tests: admin-dashboard, homepage, student-dashboard, teacher-dashboard, visual config, helpers

- Update webapp tests: admin, parent, student full tests and debug scripts

- Add new webapp tests: announcements_messages, settings_profile, debug scripts

- Add webtest directory with test plans, screenshots, and diagnostic scripts
2026-06-23 17:39:40 +08:00

324 lines
9.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"test_date": "2026-06-22 19:25:57",
"module": "仪表盘 (Dashboard)",
"version": "0.1.0",
"base_url": "http://localhost:3000",
"summary": {
"total": 20,
"passed": 20,
"failed": 0,
"warnings": 0
},
"roles": {
"admin": {
"role": "admin",
"url": "http://localhost:3000/admin/dashboard",
"login_success": true,
"page_status": "passed",
"http_status": 200,
"final_url": "http://localhost:3000/admin/dashboard",
"checks": [
{
"name": "页面内容非空",
"passed": true,
"detail": "内容长度 678338"
},
{
"name": "标题关键词匹配",
"passed": true,
"detail": "预期关键词: ['管理员', 'Admin', '仪表盘', 'Dashboard']"
},
{
"name": "统计卡片数量 (预期 4)",
"passed": true,
"detail": "实际: 16"
},
{
"name": "快捷操作链接 (预期 >= 7)",
"passed": true,
"detail": "实际: 14"
},
{
"name": "最近用户表格存在",
"passed": true,
"detail": "表格存在: True"
},
{
"name": "图表或空状态 (预期图表 2)",
"passed": true,
"detail": "图表: 0, 空状态: True"
}
],
"console_errors": [],
"screenshots": [
"dashboard_admin.png"
],
"errors": [],
"warnings": []
},
"teacher": {
"role": "teacher",
"url": "http://localhost:3000/teacher/dashboard",
"login_success": true,
"page_status": "passed",
"http_status": 200,
"final_url": "http://localhost:3000/teacher/dashboard",
"checks": [
{
"name": "页面内容非空",
"passed": true,
"detail": "内容长度 662101"
},
{
"name": "标题关键词匹配",
"passed": true,
"detail": "预期关键词: ['教师', 'Teacher', '仪表盘', 'Dashboard']"
},
{
"name": "统计卡片数量 (预期 4)",
"passed": true,
"detail": "实际: 5"
},
{
"name": "待办卡片存在",
"passed": true,
"detail": "待办区域: 8"
},
{
"name": "快捷链接存在: /teacher/homework/submissions",
"passed": true,
"detail": ""
},
{
"name": "快捷链接存在: /teacher/attendance/sheet",
"passed": true,
"detail": ""
},
{
"name": "快捷链接存在: /teacher/homework/assignments",
"passed": true,
"detail": ""
}
],
"console_errors": [],
"screenshots": [
"dashboard_teacher.png"
],
"errors": [],
"warnings": []
},
"student": {
"role": "student",
"url": "http://localhost:3000/student/dashboard",
"login_success": true,
"page_status": "passed",
"http_status": 200,
"final_url": "http://localhost:3000/student/dashboard",
"checks": [
{
"name": "页面内容非空",
"passed": true,
"detail": "内容长度 520955"
},
{
"name": "标题关键词匹配",
"passed": true,
"detail": "预期关键词: ['学生', 'Student', '仪表盘', 'Dashboard']"
},
{
"name": "统计卡片数量 (预期 5)",
"passed": true,
"detail": "实际: 6"
},
{
"name": "今日课表卡片",
"passed": true,
"detail": ""
},
{
"name": "作业卡片",
"passed": true,
"detail": ""
}
],
"console_errors": [],
"screenshots": [
"dashboard_student.png"
],
"errors": [],
"warnings": []
},
"parent": {
"role": "parent",
"url": "http://localhost:3000/parent/dashboard",
"login_success": true,
"page_status": "passed",
"http_status": 200,
"final_url": "http://localhost:3000/parent/dashboard",
"checks": [
{
"name": "页面内容非空",
"passed": true,
"detail": "内容长度 492448"
},
{
"name": "标题关键词匹配",
"passed": true,
"detail": "预期关键词: ['家长', 'Parent', '仪表盘', 'Dashboard']"
},
{
"name": "快捷入口链接: /parent/grades",
"passed": true,
"detail": ""
},
{
"name": "快捷入口链接: /parent/attendance",
"passed": true,
"detail": ""
},
{
"name": "快捷入口链接: /announcements",
"passed": true,
"detail": ""
},
{
"name": "快捷入口链接: /parent/leave",
"passed": true,
"detail": ""
},
{
"name": "孩子卡片区域",
"passed": true,
"detail": "检测到孩子相关内容: True"
}
],
"console_errors": [],
"screenshots": [
"dashboard_parent.png"
],
"errors": [],
"warnings": []
}
},
"redirect_tests": [
{
"role": "admin",
"url": "http://localhost:3000/dashboard",
"expected_redirect": "/admin/dashboard",
"final_url": "http://localhost:3000/admin/dashboard",
"passed": true,
"error": null
},
{
"role": "teacher",
"url": "http://localhost:3000/dashboard",
"expected_redirect": "/teacher/dashboard",
"final_url": "http://localhost:3000/teacher/dashboard",
"passed": true,
"error": null
},
{
"role": "student",
"url": "http://localhost:3000/dashboard",
"expected_redirect": "/student/dashboard",
"final_url": "http://localhost:3000/student/dashboard",
"passed": true,
"error": null
},
{
"role": "parent",
"url": "http://localhost:3000/dashboard",
"expected_redirect": "/parent/dashboard",
"final_url": "http://localhost:3000/parent/dashboard",
"passed": true,
"error": null
}
],
"cross_role_tests": [
{
"role": "admin",
"forbidden_route": "/teacher/dashboard",
"final_url": "http://localhost:3000/admin/dashboard?from=%2Fteacher%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /admin/dashboard拒绝访问"
},
{
"role": "admin",
"forbidden_route": "/student/dashboard",
"final_url": "http://localhost:3000/admin/dashboard?from=%2Fstudent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /admin/dashboard拒绝访问"
},
{
"role": "admin",
"forbidden_route": "/parent/dashboard",
"final_url": "http://localhost:3000/admin/dashboard?from=%2Fparent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /admin/dashboard拒绝访问"
},
{
"role": "teacher",
"forbidden_route": "/admin/dashboard",
"final_url": "http://localhost:3000/teacher/dashboard?from=%2Fadmin%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /teacher/dashboard拒绝访问"
},
{
"role": "teacher",
"forbidden_route": "/student/dashboard",
"final_url": "http://localhost:3000/teacher/dashboard?from=%2Fstudent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /teacher/dashboard拒绝访问"
},
{
"role": "teacher",
"forbidden_route": "/parent/dashboard",
"final_url": "http://localhost:3000/teacher/dashboard?from=%2Fparent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /teacher/dashboard拒绝访问"
},
{
"role": "student",
"forbidden_route": "/admin/dashboard",
"final_url": "http://localhost:3000/student/dashboard?from=%2Fadmin%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /student/dashboard拒绝访问"
},
{
"role": "student",
"forbidden_route": "/teacher/dashboard",
"final_url": "http://localhost:3000/student/dashboard?from=%2Fteacher%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /student/dashboard拒绝访问"
},
{
"role": "student",
"forbidden_route": "/parent/dashboard",
"final_url": "http://localhost:3000/student/dashboard?from=%2Fparent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /student/dashboard拒绝访问"
},
{
"role": "parent",
"forbidden_route": "/admin/dashboard",
"final_url": "http://localhost:3000/parent/dashboard?from=%2Fadmin%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /parent/dashboard拒绝访问"
},
{
"role": "parent",
"forbidden_route": "/teacher/dashboard",
"final_url": "http://localhost:3000/parent/dashboard?from=%2Fteacher%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /parent/dashboard拒绝访问"
},
{
"role": "parent",
"forbidden_route": "/student/dashboard",
"final_url": "http://localhost:3000/parent/dashboard?from=%2Fstudent%2Fdashboard&reason=forbidden",
"passed": true,
"error": "重定向回 /parent/dashboard拒绝访问"
}
],
"console_errors_global": []
}