#!/usr/bin/env bash # skyworth_cold_start.sh - 创维 VOD 冷启动测试(两阶段跳转:Adapter 阶段1先唤醒→阶段2导航就绪回放) # 流程: force-stop -> 投递创维广播(Adapter 内部 enqueueForColdStart + 启动 IndexActivity) # -> IndexActivity 首帧就绪后自动 replayColdStartQueue -> 进入详情/搜索页 # 用法: skyworth_cold_start.sh [filmName] set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" # shellcheck disable=SC1091 source "${SCRIPT_DIR}/lib/common.sh" require_adb check_skyworth_adapter_exists FILM_NAME="${1:-冷启动测试片}" print_header "创维 VOD 冷启动测试(filmName=${FILM_NAME})" # 1. 强制停止应用,模拟完全未启动状态 force_stop_app sleep 1 # 2. 投广播(Adapter 未激活时:enqueue 命令 + 自己 startActivity(IndexActivity) 唤醒应用) # 不再手动 launch_main_activity,更贴近 OEM 真实流程。 log_info "[1/3] 应用未启动时投递创维广播(Adapter 内部唤醒+排队)" send_skyworth_broadcast "${FILM_NAME}" # 3. 等应用进程启动 + 导航就绪 + 首帧命令回放(coldStartQueue drainAll 一次性消费) log_info "[2/3] 等待进程启动 + 导航就绪 + 命令回放(约 10 秒)" sleep 10 # 4. 给搜索请求+详情页跳转留出时间(网络请求+页面渲染) log_info "[3/3] 等待详情页跳转(约 5 秒)" sleep 5 log_ok "冷启动测试结束" log_info "请人工验证是否进入 VideoDetailActivity / SearchActivity" log_info "若停留在 IndexActivity 未跳转,请 logcat 过滤 VoiceCommandLogger 查看 enqueue/replay/guard 链路日志"