47 lines
1.4 KiB
Bash
47 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# cold_start.sh - 冷启动单片跳转测试
|
|
# 流程: force-stop -> 投递协议 -> 第三方拉起 MainActivity -> 等待启动链路完成 -> 排队命令回放
|
|
# 用法: cold_start.sh [filmId] [filmName]
|
|
|
|
set -e
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
# shellcheck disable=SC1091
|
|
source "${SCRIPT_DIR}/lib/common.sh"
|
|
|
|
require_adb
|
|
check_receiver_exists
|
|
|
|
FILM_ID="${1:-film-demo-001}"
|
|
FILM_NAME="${2:-冷启动测试片}"
|
|
|
|
print_header "冷启动单片跳转测试"
|
|
|
|
# 1. 强制停止应用,模拟完全未启动状态
|
|
force_stop_app
|
|
sleep 1
|
|
|
|
# 2. 第三方先投递协议(应用未启动,命令应进入 CommandQueue 排队)
|
|
REQUEST_ID=$(gen_request_id)
|
|
PAYLOAD=$(build_jump_payload FILM \
|
|
"filmId=${FILM_ID}" \
|
|
"filmName=${FILM_NAME}" \
|
|
"autoPlay=true")
|
|
|
|
log_info "[1/4] 应用未启动时投递协议"
|
|
send_voice_broadcast "JUMP" "${PAYLOAD}" "${REQUEST_ID}"
|
|
|
|
# 3. 第三方再显式拉起 MainActivity
|
|
sleep 1
|
|
log_info "[2/4] 第三方显式拉起 MainActivity"
|
|
launch_main_activity
|
|
|
|
# 4. 等待启动链路完成(激活 / 升级 / 会员校验)
|
|
log_info "[3/4] 等待启动链路完成"
|
|
wait_for_app_ready 15000 || true
|
|
|
|
# 5. 给排队命令回放留出时间
|
|
log_info "[4/4] 等待排队命令消费(约 5 秒)"
|
|
sleep 5
|
|
|
|
log_ok "冷启动测试结束"
|
|
log_info "requestId=${REQUEST_ID},请人工验证 VideoDetailActivity 是否进入" |