自動抓取渠道包歡迎頁的腳本

需求背景

有一個版本需要按照渠道區(qū)分歡迎頁樣式,需要每個渠道包都檢查一次歡迎頁,總共100+個渠道包手工檢查非常麻煩。鑒于檢查歡迎頁樣式步驟簡單,只需安裝后啟動APP檢查首個歡迎頁即可,所以寫了一個簡單的腳本來執(zhí)行這個操作。

腳本設計思路

  • 安裝app→ 啟動app→等待歡迎頁出現(xiàn)→截圖保存到手機特定文件夾→ 卸載app
  • 遍歷文件夾內(nèi)所有的apk文件,并取渠道名為截圖命名,將運行結(jié)束的apk文件移到另外的文件夾
apppath="."
# 如果當前文件夾下沒有“run”文件夾,就新建一個
if [ ! -d "./run" ]; then
mkdir ./run
fi
# 開始遍歷文件夾
for file in ${apppath}/*
do
# 抽取后綴名為apk的文件
if [[ $file == *.apk ]] || [[ $file == *.APK ]]
then
  
# 取出包名并過濾出渠道號
# 例:MyAPP_WHAN_channel_v8.1.0.apk ==> WHAN_channel_v8.1.0
qudao=${file#*WHAN_}
qudao=${qudao%.apk}
  
# 安裝app
adb install $file
 
# 啟動app并等待5s,這個等待時間視手機而定,在啟動后還可根據(jù)不同的手機系統(tǒng)插入系統(tǒng)彈窗的處理步驟
adb shell am start -n com.myapp.myapp/com.myapp.myapp.app.main.SplashActivity
sleep 5
 
# 截屏兩次,并以渠道包來命名
# 需要先在手機創(chuàng)建文件夾/storage/emulated/0/DCIM/welcome
adb shell /system/bin/screencap -p /storage/emulated/0/DCIM/welcome/$qudao.png
sleep 2
adb shell /system/bin/screencap -p /storage/emulated/0/DCIM/welcome/$qudao.png
sleep 1
  
# 卸載app,輸出日志并將已執(zhí)行的apk移動到run文件夾
adb uninstall com.myapp.myapp
echo $qudao+"done"
mv $file ./run
 
fi
done

使用方法

  • 執(zhí)行腳本前在手機上必須存在 /storage/emulated/0/DCIM/welcome/這個文件夾,如不存在,需要先手動創(chuàng)建好(也可以直接用腳本檢測創(chuàng)建)
  • 執(zhí)行腳本前需要先卸載手機上的被測的APP(腳本調(diào)整為前置刪除/覆蓋安裝也可以)
  • 將上述腳本放在渠道包的文件夾目錄下執(zhí)行,支持隨時停止,停止后卸載掉手機上的PPmoney理財APP才可繼續(xù)運行
  • 執(zhí)行完成后使用adb pull的命令將整個截屏的文件夾放到電腦上進行檢查,即可快速檢查出有問題的渠道包。

PS1:上述腳本是基于小米6的手機進行調(diào)試的,使用其他手機執(zhí)行還需要進行系統(tǒng)彈窗處理+等待時間的調(diào)整。同時非常建議使用小米6進行執(zhí)行,因為執(zhí)行速度快,沒有系統(tǒng)彈窗。

PS2:目前只能在Mac OS順利執(zhí)行,在Windows系統(tǒng)運行到截圖就提示報錯,應該是在Windows的運行shell腳本的程序沒有安裝adb導致,按照上述思路出一個.bat版本腳本即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,098評論 25 708
  • 湖邊,一家三口,都說一句話,哇!這魚好大 公園,一對情人,挨坐一條凳,臉貼臉像木瓜 廣場,一群少婦,揮手招繁星,酷...
    木貞ma閱讀 65評論 0 2
  • 在愛情的列車上,如果你要提前下車,請別推醒裝睡的我。這樣我可以沉睡到終點,假裝不知道你已經(jīng)離開。 1 我是在廣州去...
    否二閱讀 253評論 0 2
  • http://www.lxweimin.com/p/bcc0bcaadd6c 導致控制器不能正常釋放的原因? 控制器...
    流沙3333閱讀 556評論 0 0
  • 在學習本地數(shù)據(jù)存取的時候我們首先介紹一下iOS中的一個存儲介質(zhì)應用沙盒。每個iOS的應用都有自己的應用沙盒(應用沙...
    蘇哲炫爺閱讀 1,186評論 2 2