| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 下发文件真的落到平板的目录里 | 下发文件:课件要真的落到平板的 /sdcard/Download/ 下。 | 通过 6 秒 |   |
| 下发文件后平板提示学生收到了、写明放在哪 | 下发文件:下载完成时平板要提示学生收到了什么、放在哪(603 起)。 | 通过 6 秒 |   |
| 删除文件真的把平板上的文件删掉 | 删除文件:平板上的那个文件要真的没了。依赖上一条先把文件放上去。 | 通过 3 秒 |   |
| 删除文件只填文件名也删得掉、回执写明完整路径 | 删除文件只填文件名:要真删掉,回执写明删的是哪个完整路径。 | 通过 9 秒 |   |
| 删除不存在的文件如实回「文件不存在」 | 删除不存在的文件:要如实回「文件不存在」,不能报成功。 | 通过 4 秒 |   |
| 文件同步规则:下发后文件真的下载到平板上规则指定的目录 | 文件同步规则(fileDownload,不带自定义时间):下发后文件真的下载到平板上规则指定的 Download 子目录。 原记人工的理由「规则本身不产生设备侧状态,落盘靠 sourceFile」不成立:不带自定义时间的规则下发即下载 (DownloadFileManager.checkSyncSchedule → FileDownloadWork,与 sourceFile 同一个下载函数)。已下载的文件撤销后按设计保留。 | 通过 5 秒 |   |
| 文件同步规则指向根目录下的文件夹:下载不成就如实报失败,不谎报成功 | 文件同步规则指向存储根目录下的文件夹:标准形态没有「所有文件访问」、建不出这个文件夹 —— 要么真的下载成功,要么回执如实报失败, 不能回执成功而平板上什么都没有(2026-09-25 查出:设备日志 Create parent folder failed!,回执却是成功)。 | 通过 74 秒 |   |
| 文件回传规则:目录写绝对路径时,目录里的文件真的传到服务端 | 文件回传规则(fileUpload,不带自定义时间):目录写绝对路径时,目录里的文件真的传到服务端、控制台看得到。 | 通过 9 秒 |   |
| 文件回传规则:目录写相对路径时也能传(与同步规则同一口径) | 文件回传规则:目录写相对路径时也要能传 —— 与文件同步规则同一口径(相对目录按存储根目录解析,DownloadManager.resolveFolder)。 | 通过 10 秒 | /pad.jpg) /console.jpg) |
| 文件回传途中断网 1 分钟,联网后自己补传上去 | 文件回传:上传进行到一半时断网 1 分钟,联网后自己补传成功,不用人去点「重传」。 | 通过 455 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 设备详情看得到平板连的 Wi-Fi 名称;学校禁用定位时平板不自己打开定位 | 设备详情能看到平板连的 Wi-Fi 名称(617);学校禁用定位时,平板不会自己把定位打开。 | 通过 71 秒 |   |
| 25 项限制类策略真的落到系统限制上 | 25 项限制类策略:下发后系统里要逐项多出对应的限制键。 | 通过 80 秒 |   |
| 撤销后这些限制真的从系统里消失 | 撤销后这些限制要真的从系统里消失。依赖上一条先把它们加上。 | 通过 42 秒 |   |
| 落在系统设置里的策略真的改了设置 | 落在系统 settings 里的策略:值要真的改过去,撤销后要回落。 | 通过 8 秒 |   |
| 锁屏口令策略真的落到系统上 | 锁屏口令策略:复杂度与最短长度要真的落到系统上。 | 通过 14 秒 |   |
| 禁用锁屏功能真的落到系统上,撤销后恢复 | 禁用锁屏功能(lockScreen):下发后系统里 disabledKeyguardFeatures 真的变成全部禁用(锁屏相机、小组件、通知、指纹等); 撤销后恢复 0。原记人工的理由「与 passCode 同一条路径」是错的:它走 KeyGuardControlTask → setKeyguardDisabledFeatures。 | 通过 9 秒 |   |
| 禁止改 Wi-Fi 配置真的落到系统限制上,撤销后解除 | 禁止改 Wi-Fi 配置(disableWiFiConfiguration):施加 no_config_wifi、撤销后解除。只禁学生改配置,平板不断网。 单独验:设备端禁移动数据时若 Wi-Fi 配置已被禁,会先把它解开(UserManagerPolicy 两项互相牵制),放进整批结果取决于执行顺序。 | 通过 9 秒 |   |
| 禁用移动数据真的落到系统限制上,撤销后解除 | 禁用移动数据(disableMobileData):施加 no_config_mobile_networks、撤销后解除。原记人工的理由「本机没 SIM 卡看不出差别」 不成立:限制本身在系统里读得到,与有没有 SIM 卡无关。 | 通过 9 秒 |   |
| 「禁用 Wi-Fi」服务端拒收并说明原因(现网客户端上会让没插卡的平板失联) | 「禁用 Wi-Fi」服务端拒收并说明原因:现网客户端(608 及以前)判断「有没有 SIM 卡」用的是卡槽数,双卡槽平板不插卡也照样执行, 当场断网失联、连撤销都收不到(2026-09-25 本判据的前身在测试机上真把 Wi-Fi 关掉了)。609 起设备端改为按可用 SIM 卡拒绝, 推开之前服务端先挡住。 | 通过 0 秒 | /pad.jpg) /console.jpg) |
| 禁止截屏真的置上了系统标志 | 禁止截屏:系统的 screenCaptureDisabled 要真的置上,撤销后要真的放开。 | 通过 8 秒 |   |
| 做不到的策略如实回报失败而不是配了白配 | 当前设备形态做不到的那几项:必须如实回报失败,不能配了白配还显示成功。 | 通过 49 秒 |   |
| 撤销做不到的策略时回执成功,不再误报失败 | 撤销做不到的策略时回执成功:当前形态做不到的项(系统级网络过滤、开关机动画、定时开关机……)施加时如实报失败, 撤销时这一项本来就没施加过、没有可撤的 —— 回执必须是成功,不能再报「需要系统集成版」。 原先心跳补发撤销一批十几条全是「失败」,控制台下发记录一片红,管理员以为撤销没生效(2026-09-25 真机日志,609 修)。 | 通过 36 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 硬件按时段开放:时段外真的禁用、时段内真的放开,撤销后解除 | 硬件按时段开放:按平板当前时间配一个不含现在的开放时段 —— 蓝牙被禁;换成含现在的时段 —— 放开;再配回时段外又禁;撤销后解除。 | 通过 23 秒 |   |
| 应用按时段开放:窗口内白名单外的应用真的被挂起、白名单里的不受影响,窗口外与撤销后放开 | 应用按时段开放:配含现在的窗口、白名单只有 Chrome —— 计算器被挂起、Chrome 不受影响;换成不含现在的窗口 —— 放开; 再配回又挂起;撤销后开跑前没挂起的应用一个都不许还挂着。 | 通过 27 秒 |   |
| 设备可用时段:时段外平板真的锁住、时段内按告警周期解锁,撤销后解开 | 设备可用时段(timefence + 类型 8 的锁定告警):时段外平板被锁住;改到时段内,告警周期(临时设 1 分钟)一到就解锁; 再配回时段外又锁上;撤销后解开、不再锁。 | 通过 142 秒 |   |
| 告警周期撤销后恢复默认,不会变成每几秒检查一次 | 告警周期撤销后恢复默认(5 分钟):配着告警规则时撤掉告警周期,一分钟里 ClassPad 被唤醒不超过几次 —— 撤销若把周期写成 0,告警检查的精确闹钟会每隔几秒触发一次,白耗电。 | 通过 155 秒 |   |
| 心跳周期:配成 15 分钟真的按 15 分钟排同步,撤销后恢复每 60 分钟 | 心跳周期:配成 15 分钟后,系统任务调度里 ClassPad 的周期同步真的改成每 15 分钟排一次; 撤销后恢复默认 60 分钟,不会停在 15 分钟。 | 通过 18 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 设置页入口:关掉 Wi-Fi、关于后入口与「设置」图块真的消失,撤销后回来 | 设置页入口:默认看得到 Wi-Fi 与关于;关掉 wlan 后 Wi-Fi 入口没了;再关 about,三项都关时桌面上的「设置」图块也没了; 撤销两项后(恢复成默认开)图块与两个入口都回来。 | 通过 64 秒 |   |
| 退出键:关掉后桌面菜单里真的没有「退出」,撤销后回来 | 退出键:默认桌面右上角菜单里有「退出」;下发 showQuitKey=0 后没了;撤销后(恢复成默认开)回来。 | 通过 48 秒 |   |
| 多应用桌面菜单:「Wi-Fi设置」真的打开 Wi-Fi 设置、「关于」写着本机型号与版本 | 桌面菜单:点「Wi-Fi设置」真的打开 Wi-Fi 设置界面(ClassPad 自己的或系统的);点「关于」弹出的对话框写着本机型号与客户端版本。 | 通过 41 秒 |   |
| 多应用桌面菜单:「数据同步」真的让服务端的同步时间前进 | 桌面菜单:点「数据同步」真的去服务端同步了一次 —— 服务端记的同步时间往前走(不看吐司,看服务端)。 | 通过 29 秒 |   |
| 多应用桌面:输错退出密码退不出,输对了真的退出桌面 | 桌面「退出」:给测试组设一个退出密码 → 菜单「退出」弹出密码框;输错一次仍在桌面(服务端提示还剩几次),输对了真的退出桌面。 | 通过 90 秒 |   |
| 多应用桌面:每个应用图块点下去都打开它自己那个应用 | 桌面应用图块:桌面上每个应用图块点下去,到前台的都是它自己那个应用(ClassPad 与测试应用各一块,互不串)。 首版只点「第一块不是设置的」,点到的是 ClassPad 自己的图块,却按测试应用去核对 —— 判据自己选错了块。 | 通过 47 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 锁屏按钮:「Wi-Fi设置」打开 Wi-Fi 设置、「紧急电话」打开紧急拨号、没 SIM 卡点「移动数据」如实提示 | 锁屏按钮:点「Wi-Fi设置」真的打开 Wi-Fi 设置;点「紧急电话」真的打开紧急拨号;没 SIM 卡时点「移动数据」弹出「请插入SIM卡」。 每点完一个按返回,锁屏界面要自己回来(学生离不开锁屏)。 | 通过 29 秒 |   |
| 锁屏连点 Logo 七次:离线解锁码输错解不开、输对真的解开 | 锁屏离线解锁:连点 Logo 七次弹出「离线解锁」;输一个错的码 —— 仍锁着;再点七次输本机的码 —— 真的解开。收尾由服务端再发一次解锁对齐两边。 | 通过 43 秒 |   |
| 锁着时收到老师的消息:对话框弹在锁屏上,「确定」关掉后仍在锁屏 | 锁着时收到老师的消息:消息以对话框弹在锁屏上(不被锁屏盖住);点「确定」关掉,关掉后仍在锁屏(学生借不了这个对话框解锁)。 | 通过 17 秒 |   |
| 锁着时触发的告警提醒:解锁后补弹出来,写着告警原文 | 锁着时触发的「只提醒」告警:消息先排队(锁屏上不弹),老师解锁后消息页真的补弹出来、写着告警原文。 触发用内存告警:阈值设成 64 GB,规则一落地平板当场判一次就触发(与告警组同一个办法),动作只提醒、不锁屏。 | 通过 37 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| ClassPad 主界面:序列号、型号、版本与平板一致 | ClassPad 主界面:显示的序列号、型号、版本与平板一致(老师报修时照着念,要对得上号)。 | 通过 10 秒 |   |
| 设备配置「上传诊断信息」:服务端收下才说已上传 | 「设备配置」→「上传诊断信息」:点了先说「正在上传」,服务端收下后说「已上传」(结果码 1000 才算收下)。 | 通过 24 秒 |   |
| 主界面「文件库」:没权限时写明原因并带到授权页,有权限时真的打开文件库 | 主界面「文件库」:没有「所有文件访问」时,入口下写着需要文件访问权限,点了带到系统「所有文件访问权限」页; 有了之后提示消失,点了真的打开文件库。判据按两种状态各验一次,收尾恢复成未授予(客户平板的初始状态)。 | 通过 25 秒 |   |
| 设备配置「文件传输」开关:关掉后下发的文件被拒收并点名这个开关,打开后照常收到 | 设备配置「文件传输」开关:在平板上关掉后,老师下发的文件被拒收,回执写明是平板上的这个开关 (不把管理员指到控制台 —— 控制台没有这条策略);重新打开后同一个文件真的落到平板上。收尾一定打开(缺省是开)。 | 通过 55 秒 |   |
| 设置页「关于」:写着本机的序列号与型号 | 设置页「关于」:从桌面「易捷设置」进设置页,点「关于」,页面上写着本机的序列号与型号。 | 通过 29 秒 |   |
| 常驻通知:点「这台平板由学校管理」真的打开学生告知页 | 常驻通知:解开系统锁屏、展开通知栏,找到「这台平板由<学校>管理」那条(被系统归组就展开组、在列表下方就往下翻), 点它真的打开学生告知页。 | 通过 18 秒 |   |
| 单应用锁定出错:应用没装时给出「点击重试」「KIOSK」「网络设置」并如实提示 | 单应用锁定出错:锁定的应用没装时出现「点击重试」;点了仍找不到,再给出「KIOSK」与「网络设置」;点「KIOSK」如实提示应用未安装。 | 通过 36 秒 |   |
| 课件(多页 PDF):翻页真的换页、关闭真的关掉 | 课件(多页 PDF):推一个 3 页的 PDF —— 打开后显示「第 1 / 3 页」;「下一页」到第 2 页、「上一页」回第 1 页; 点「关闭」离开课件界面。 | 通过 23 秒 | :翻页真的换页、关闭真的关掉/pad.jpg) :翻页真的换页、关闭真的关掉/console.jpg) |
| 课件里举手:没上课如实说老师看不到,上课时说已举手且老师名单里真有这台 | 课件里的「举手」:没在上课时点 —— 如实说「现在不在上课,老师看不到」;开课后点 —— 说「已举手」, 且老师的举手名单里真有这台平板。提示条在网络往返后才出、只停 3 秒,判据轮询 10 秒。 | 通过 28 秒 |   |
| 课堂巡视引导页:服务没开时弹出且按钮打开无障碍设置,已开时自己退出 | 课堂巡视引导页(消息类型 7):ClassPad 的无障碍服务没开时,引导页真的弹出、「打开无障碍设置」真的打开系统无障碍设置; 服务开着时引导页自己退出、不打扰学生。两种状态都由判据自己建(临时关掉 / 临时打开),收尾把两项设置原样还原。 首版要求「服务本来开着」才验,测试机上本来就没开,于是永远没验到。 | 通过 17 秒 |   |
| 测试项 | 测试步骤(机器实际执行的动作) | 结论 | 截图(平板 / 后台) |
| 控制台页面打得开且有内容:dashboard | 用浏览器以管理员身份打开控制台的 dashboard 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 1 秒 |   |
| 控制台页面打得开且有内容:org | 用浏览器以管理员身份打开控制台的 org 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:groups | 用浏览器以管理员身份打开控制台的 groups 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:enroll | 用浏览器以管理员身份打开控制台的 enroll 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:devices | 用浏览器以管理员身份打开控制台的 devices 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:devices/d9e50cdc0514b1e5b39681124e836ffe8 | 用浏览器以管理员身份打开控制台的 devices/d9e50cdc0514b1e5b39681124e836ffe8 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:policies | 用浏览器以管理员身份打开控制台的 policies 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:apps | 用浏览器以管理员身份打开控制台的 apps 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:client | 用浏览器以管理员身份打开控制台的 client 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:filelib | 用浏览器以管理员身份打开控制台的 filelib 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:alerts | 用浏览器以管理员身份打开控制台的 alerts 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:classroom | 用浏览器以管理员身份打开控制台的 classroom 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:wall | 用浏览器以管理员身份打开控制台的 wall 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:reports | 用浏览器以管理员身份打开控制台的 reports 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:branding | 用浏览器以管理员身份打开控制台的 branding 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:theme | 用浏览器以管理员身份打开控制台的 theme 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:users | 用浏览器以管理员身份打开控制台的 users 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:sso-settings | 用浏览器以管理员身份打开控制台的 sso-settings 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:parent-requests | 用浏览器以管理员身份打开控制台的 parent-requests 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:parent-portal | 用浏览器以管理员身份打开控制台的 parent-portal 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:audits | 用浏览器以管理员身份打开控制台的 audits 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |
| 控制台页面打得开且有内容:storage | 用浏览器以管理员身份打开控制台的 storage 页面,等它真正渲染出内容,再确认三件事:页面主体不是空的、没有出现错误提示、浏览器控制台没有报 JS 异常。只看 HTTP 200 不算 —— 白屏页面同样会回 200。 | 通过 0 秒 |   |