Files
abox-mgr/docs/testing/infrared-hardware-validation.md
T
KremeCN 0144ea992c docs: reorganize project documentation (#15)
## Summary
- add a root README with project overview, setup, usage, architecture, security, and contribution guidance
- replace stale planning and requirement notes with current 1.0 project overview
- update architecture and hardware validation docs to match the implemented app
- remove obsolete UI branch notes and the old Java/XML AsyncTask example
- remove the superpowers documentation and move vendor ABSDK references into docs/vendor
- preserve vendor Markdown and XLS content byte-for-byte

## Verification
- Markdown relative links checked
- vendor files verified as 100% Git renames
- git diff --check passed
- no application tests run; documentation-only change

Reviewed-on: #15
Co-authored-by: KremeCN <3265494849@qq.com>
2026-08-28 10:57:47 +08:00

76 lines
3.8 KiB
Markdown
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.
# 红外控制器硬件验证
## 范围与安全要求
本流程只用于已授权的隔离局域网和实体设备。测试记录使用脱敏 profile、设备和操作标识,不记录密码、Token、完整网关地址、完整硬件标识、原始 SDK 响应或红外码值。
真机验证必须使用 ABox Provider。本地体验只能验证界面和状态机,不能作为红外硬件通过证据。
## 前置条件
- 使用与待发布提交一致的 APK;
- 已通过 ABox 登录并进入设备中心;
- 网关中的红外设备名称与 App 当前设备名称一致;默认名称为 `红外控制器`;
- 红外控制器已通电,并可对准一个获授权的实体电视、空调、风扇或其他设备;
- 系统时间、网络和通知权限状态已记录。
## 验证流程
### 1. 默认内容与管理页
1. 首次进入红外控制器,确认存在“自定义电视遥控器”和“自定义面板遥控器”。
2. 打开管理页,确认硬件槽位位于顶部。
3. 确认每个遥控器提供排序和编辑入口,而不是列表内直接删除。
4. 修改红外控制器设备名称后,确认后续网关调用使用新名称;名称与网关不一致时应明确失败。
### 2. 添加预置遥控器
1. 点击添加遥控器。
2. 第一步选择从红外码库下载预置遥控器。
3. 选择一种可用设备类型与预置项并完成下载。
4. 确认新遥控器出现在列表末尾,并位于遥控器页面导航的最右端。
5. 发送多个按键,确认实体设备响应,界面显示真实操作结果。
6. 确认预置遥控器没有学习入口。
7. 记录逐项下载失败时的状态,确认部分失败不会被显示为全部成功。
### 3. 添加自定义遥控器
1. 再次点击添加遥控器。
2. 第一步选择通过学习模式创建自定义遥控器。
3. 分别验证电视布局和自定义面板布局。
4. 在自定义面板中添加新按钮,编辑名称并调整顺序。
5. 确认新按钮初始状态为“未学习”,而不是“学习失败”。
### 4. 学习与发送
1. 对一个未学习按钮开始学习,并在物理遥控器上发送信号。
2. 确认状态从未学习进入学习中,再进入可发送状态。
3. 立即发送该按键,确认实体设备响应。
4. 重新学习同一按钮,确认复用原按钮记录,不生成重复按钮。
5. 学习过程中离开页面,稍后返回,确认任务结果已持久化。
6. 学习过程中强制结束 App,再次进入后,确认遗留学习状态被保守恢复为失败并允许重试。
### 5. 失败与离线
1. 开始学习但不发送物理信号,确认超时显示为学习失败,而不是未学习。
2. 断开红外控制器电源后尝试学习和发送,确认显示设备离线或对应领域错误。
3. 恢复供电后重试,确认成功结果替换失败状态。
4. 使 ABox 会话失效后操作,确认返回登录流程,不继续使用旧会话。
### 6. 排序、编辑与删除
1. 调整遥控器顺序,离开并重新进入后确认顺序持久化。
2. 编辑遥控器名称和布局允许修改的属性,确认列表与详情同步更新。
3. 删除测试遥控器,确认其按钮和引用得到一致处理,不留下可进入的空详情页。
4. 验证长英文按钮文本不会溢出、重叠或遮挡操作控件。
### 7. 活动记录
1. 完成一次预置按键发送、一次自定义按键学习、一次发送失败和一次离线失败。
2. 打开活动记录,确认事件按时间显示,并区分操作类型、来源和结果。
3. 确认记录中没有原始红外码值、Token 或 SDK 响应。
## 结果记录
每条记录只包含:日期、App 版本与提交号、脱敏 profile、脱敏设备名、遥控器类型、操作类别、成功/失败/取消分类、粗粒度耗时、实体设备响应摘要和缺陷编号。