ClassPad 真机测试结果

每一条都在真实平板上执行,并回到设备上核对结果 —— 不看接口返回,不看「已下发」。

测试时间:2026-10-06 00:30:06+0800 · 结论:全部通过
测试设备 厂商自有测试机,序列号 T69A2026080025
平板端版本 4.2.2.3 (637)
被测安装包 SHA-256 c38f0f0d9daff6fe9fbec70cae5eefbcd0c131363b9b8177b4d63389efcc9d48
与官网下载的安装包比对这一串,即可确认「测的就是发的」。
服务端 https://classpad.owly.cn
17通过
0不通过
0未验到
17合计
关于「未验到」:既不算通过,也不算不通过。算通过是自欺;算不通过等于把环境限制说成产品缺陷。下表中每一条「未验到」都写明了受限原因与补验条件。
单独复验某一项:改动只涉及一个功能时,不必跑完整轮 —— 在测试机上执行 python3 run.py --only <项名里的关键词>,例如 --only 举手、--only 推课件,只跑名字里含这个词的判据,前置由判据自己建好。

offline

测试项测试步骤(机器实际执行的动作)结论截图(平板 / 后台)
推送断线后看门狗每分钟真的执行、连不上就重建,联网后指令送得到推送断线后的看门狗:断网 4 分半 → 看门狗每分钟真的执行、连续没连上就重建推送客户端 → 联网后推送恢复,老师的指令送到并执行。 610 前看门狗广播不带包名,Android 14 起投递不到 NOT_EXPORTED 接收器,一次都没执行过(2026-09-26 客户平板推送断 40 多分钟没人救)。通过 314 秒平板后台
回执发出前断网 20 分钟,联网后回执自己补上指令在平板上执行到一半断网 20 分钟:联网后回执要自己补上,控制台那条记录不能永远「未回执」。通过 1230 秒平板后台
取任务途中断网 10 分钟,联网后指令照样执行推送叫醒平板去取任务、响应还在半路就断网 10 分钟:联网后要自己再取、执行并回执。通过 641 秒平板后台
推送重发同一条指令 5 遍,平板只取一次推送重连时 broker 重发同一条消息 5 遍:平板只取一次,不重复执行。通过 74 秒平板后台
推送叫醒的同步与下一条指令前后脚到,那条指令只执行一次、不被当成推送没送到推送先叫醒一次策略同步、紧接着来一条指令:这条指令只执行一次,也不被当成「推送没送到」。通过 45 秒平板后台
断网期间改的策略,联网后自己补齐(验收 H1)断网 → 控制台显示离线 → 改策略(禁用相机)→ 联网:不用人管,限制自己补上;撤销后解开。通过 319 秒平板后台

推送通道与远程看屏

测试项测试步骤(机器实际执行的动作)结论截图(平板 / 后台)
推送通道真的连着且用的是签发账号推送必须真的连着,而且用的是服务端签发的账号。通过 0 秒平板后台
远程截屏的图真的到了服务端远程截屏:指令送到之后,服务端要真的多出一张新截图。通过 63 秒平板后台
一次授权撑一节课,之后截屏不再打扰学生一次授权撑一节课:第一次截屏学生点一次「开始」,之后连续再截两张都不再打扰他。通过 45 秒平板后台
硬件限制真的落到系统用户限制上硬件限制:系统里真正生效的限制集合要包含它们,撤销后要真的消失。通过 17 秒平板后台

即时指令

测试项测试步骤(机器实际执行的动作)结论截图(平板 / 后台)
调节屏幕亮度真的改了系统亮度调节屏幕亮度:系统 screen_brightness 要落到期望值(我们发百分比,设备端换算成 0-255)。通过 5 秒平板后台
调节音量真的改了媒体音量调节音量:媒体音量要落到期望档位(读设备当前实际音量)。通过 5 秒平板后台
修改设备名做不到时如实回报失败(平台禁止,非缺陷)修改设备名:Android 禁止设备所有者改系统设备名 —— 我们要保证的是**如实回报失败**。通过 7 秒平板后台
开启/关闭定位真的改了定位模式开启/关闭定位:系统 location_mode 要跟着变(0=关,非 0=开)。通过 9 秒平板后台
启动应用真的把应用拉到前台启动应用:目标应用要真的到前台。通过 0 秒平板后台
强制同步真的让服务端时间前进强制同步:服务端的 last_sync_at 要前进。通过 7 秒平板后台
回执带上执行状态(status 不再丢)回执里每一项都带执行状态,服务端存得下来。通过 3 秒平板后台