76 lines
3.8 KiB
Markdown
76 lines
3.8 KiB
Markdown
# 红外控制器硬件验证
|
||
|
||
## 范围与安全要求
|
||
|
||
本流程只用于已授权的隔离局域网和实体设备。测试记录使用脱敏 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、脱敏设备名、遥控器类型、操作类别、成功/失败/取消分类、粗粒度耗时、实体设备响应摘要和缺陷编号。
|