{ "timestamp": "2026-04-26T13:01:26.751Z", "testStrategy": { "api": "小程序端API接口测试,构造请求数据,验证响应,不进行UI点击", "web": "管理后台浏览器自动化测试,管理员和指导师登录,测试过程截图" }, "accounts": { "admin": "13800138000 / admin123", "teacher": "13800138003 / teacher123", "note": "家长和孩子不登录Web后台" }, "summary": { "api": { "total": 19, "passed": 19, "failed": 0 }, "web": { "total": 51, "passed": 0, "failed": 51 } }, "apiTests": [ { "id": "API-001", "description": "家长登录接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/auth/login", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "phone": "13800138001", "code": "123456", "role": "parent" }, "timestamp": "2026-04-26T13:01:15.038Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 1, "timestamp": "2026-04-26T13:01:15.038Z" }, "error": null }, { "id": "API-002", "description": "家长创建任务接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/tasks", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "name": "完成语文作业", "points": 5, "category": "study", "deadline": "2026-04-15T18:00:00", "description": "完成课本第10页到第15页的练习题" }, "timestamp": "2026-04-26T13:01:15.039Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.039Z" }, "error": null }, { "id": "API-003", "description": "获取孩子今日任务列表", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/tasks/today/2", "method": "GET", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "date": "2026-04-26" }, "timestamp": "2026-04-26T13:01:15.039Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.039Z" }, "error": null }, { "id": "API-004", "description": "孩子完成任务接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/tasks/1/complete", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "taskId": 1, "completedAt": "2026-04-26T13:01:15.040Z", "proof": { "type": "photo", "url": "https://example.com/photo.jpg", "description": "已完成作业拍照" } }, "timestamp": "2026-04-26T13:01:15.040Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.040Z" }, "error": null }, { "id": "API-005", "description": "获取积分记录接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/points/records", "method": "GET", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "startDate": "2026-04-01", "endDate": "2026-04-30" }, "timestamp": "2026-04-26T13:01:15.041Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.041Z" }, "error": null }, { "id": "API-006", "description": "孩子添加心愿接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/rewards/wishlist", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "name": "去游乐园玩", "category": "experience", "description": "周末全家一起去游乐园" }, "timestamp": "2026-04-26T13:01:15.041Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 1, "timestamp": "2026-04-26T13:01:15.042Z" }, "error": null }, { "id": "API-007", "description": "孩子兑换奖励接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/rewards/1/exchange", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "rewardId": 1, "childId": 2, "pointsUsed": 50 }, "timestamp": "2026-04-26T13:01:15.042Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.042Z" }, "error": null }, { "id": "API-008", "description": "家长审批奖励兑换接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/rewards/1/approve", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "exchangeId": 1, "approved": true, "comment": "同意兑换,表现很好!" }, "timestamp": "2026-04-26T13:01:15.042Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.042Z" }, "error": null }, { "id": "API-009", "description": "获取连续打卡天数接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/streak/2", "method": "GET", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2 }, "timestamp": "2026-04-26T13:01:15.043Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.043Z" }, "error": null }, { "id": "API-010", "description": "获取家庭信息接口", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/family/info", "method": "GET", "headers": { "Content-Type": "application/json" }, "body": { "familyId": 1 }, "timestamp": "2026-04-26T13:01:15.044Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 1, "timestamp": "2026-04-26T13:01:15.045Z" }, "error": null }, { "id": "API-011", "description": "指导师首次登录角色选择", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/auth/role-select", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "userId": 1, "role": "teacher" }, "timestamp": "2026-04-26T13:01:15.045Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.045Z" }, "error": null }, { "id": "API-012", "description": "指导师信息录入", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/user/profile", "method": "PUT", "headers": { "Content-Type": "application/json" }, "body": { "idCard": "110101199001011234", "gender": "male", "teacherPhoto": "https://example.com/photo.jpg", "teacherNo": "TEACHER20260001", "certificateImage": "https://example.com/cert.jpg" }, "timestamp": "2026-04-26T13:01:15.045Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.045Z" }, "error": null }, { "id": "API-013", "description": "指导师查看关联家庭列表", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/guide/families", "method": "GET", "headers": { "Content-Type": "application/json" }, "body": { "teacherId": 1 }, "timestamp": "2026-04-26T13:01:15.046Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.046Z" }, "error": null }, { "id": "API-014", "description": "指导师审核家庭任务", "priority": "P0", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/guide/tasks/1/review", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "taskId": 1, "approved": true, "comment": "审核通过" }, "timestamp": "2026-04-26T13:01:15.046Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.046Z" }, "error": null }, { "id": "API-015", "description": "舒尔特方格开始游戏", "priority": "P1", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/mini-games/schulte/start", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "gridSize": 5 }, "timestamp": "2026-04-26T13:01:15.047Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.047Z" }, "error": null }, { "id": "API-016", "description": "猜数字(1a2b)开始游戏", "priority": "P1", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/mini-games/1a2b/start", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2 }, "timestamp": "2026-04-26T13:01:15.047Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.047Z" }, "error": null }, { "id": "API-017", "description": "创建任务模板", "priority": "P1", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/task-templates", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "title": "每日阅读", "description": "阅读30分钟课外书籍", "category": "study", "points": 3, "duration": 30, "completeTypes": [ "checkin", "text" ] }, "timestamp": "2026-04-26T13:01:15.047Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 1, "timestamp": "2026-04-26T13:01:15.048Z" }, "error": null }, { "id": "API-018", "description": "创建小游戏类任务", "priority": "P1", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/tasks", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "title": "完成舒尔特方格训练", "category": "小游戏类", "minigameCode": "schulte", "points": 5, "deadline": "2026-04-20T18:00:00", "needReview": 0 }, "timestamp": "2026-04-26T13:01:15.048Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.048Z" }, "error": null }, { "id": "API-019", "description": "完成小游戏任务获积分", "priority": "P1", "status": "passed", "request": { "url": "http://192.168.16.18:8080/api/tasks/1/complete", "method": "POST", "headers": { "Content-Type": "application/json" }, "body": { "childId": 2, "completionTime": 45, "score": 80 }, "timestamp": "2026-04-26T13:01:15.049Z" }, "response": { "status": 200, "statusText": "OK", "data": { "code": 200, "message": "success", "data": {} }, "duration": 0, "timestamp": "2026-04-26T13:01:15.049Z" }, "error": null } ], "webTests": [ { "id": "WEB-001", "description": "管理员登录Web后台", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-002", "description": "管理员查看用户列表", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-003", "description": "管理员查看任务统计", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-004", "description": "指导师登录Web后台", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-005", "description": "指导师查看分配的家庭", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-006", "description": "管理员审核指导师注册", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-007", "description": "管理员查看街道统计", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-008", "description": "指导师审核家庭任务", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-009", "description": "指导师查看家庭任务详情", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-010", "description": "管理员查看用户列表", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-011", "description": "管理员查看用户详情", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-012", "description": "管理员编辑用户信息", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-013", "description": "管理员停用孩子账号", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-014", "description": "管理员启用孩子账号", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-015", "description": "管理员创建任务", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-016", "description": "管理员设置任务分类", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-017", "description": "管理员设置任务积分", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-018", "description": "管理员设置任务截止时间", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-019", "description": "管理员编辑任务", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-020", "description": "管理员删除任务", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-021", "description": "管理员使用任务模板", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-022", "description": "管理员查看任务历史", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-023", "description": "管理员查看任务统计", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-024", "description": "管理员查看奖励列表", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-025", "description": "管理员创建奖励", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-026", "description": "管理员设置奖励分类", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-027", "description": "管理员编辑奖励", "priority": "P2", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-028", "description": "管理员删除奖励", "priority": "P2", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-029", "description": "管理员查看奖励模板", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-030", "description": "管理员查看奖励兑换进度", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-031", "description": "管理员查看家庭列表", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-032", "description": "管理员查看家庭详情", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-033", "description": "管理员编辑家庭信息", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-034", "description": "管理员删除家庭", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-035", "description": "管理员查看孩子管理", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-036", "description": "管理员查看积分管理", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-037", "description": "管理员系统设置入口", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-038", "description": "管理员操作日志查看", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-039", "description": "管理员套餐审核", "priority": "P1", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-040", "description": "指导师登录Web后台", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-041", "description": "指导师查看我的家庭", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-042", "description": "指导师查看家庭任务详情", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-043", "description": "指导师审核任务", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-044", "description": "指导师任务审核通过", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-045", "description": "指导师任务审核拒绝", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-046", "description": "管理员登出", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-047", "description": "SQL注入测试", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-048", "description": "XSS测试", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-049", "description": "无效手机号测试", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-050", "description": "无效身份证测试", "priority": "P0", "status": "failed", "screenshots": [], "error": {} }, { "id": "WEB-051", "description": "积分超范围测试", "priority": "P0", "status": "failed", "screenshots": [], "error": {} } ] }