最近接到個任務,就是需要對手機T卡進行壓力測試。然後就想解決方案,採取自動化方法,對手機不停的執行復制黏貼操作、讀取T卡文件、對文件管理器執行Monkey操作等,以此來模仿人們手工操作T卡和手機。
好了,廢話不多說,直接貼代碼:
#!/bin/bash
trap "" HUP
echo "starts test"
i=1
min=1
max=10000
while [ $min -le $max ]
do
echo $min
cp -f /sdcard/0.apk /storage/sdcard1/0.apk
echo "copy 0.apk"
cp -f /sdcard/00.apk /storage/sdcard1/00.apk
echo "copy 00.apk"
cp -f /sdcard/0001.apk /storage/sdcard1/0001.apk
echo "copy 0001.apk"
cp -f /sdcard/001.apk /storage/sdcard1/001.apk
echo "copy 001.apk"
echo "copy cpuEx"
# cp -a /sdcard/cpuEx /storage/sdcard1/
sleep 1
monkey -p zte.com.cn.filer -s 20 --monitor-native-crashes -v -v --throttle 600 2000
sleep 1
rm -f /storage/sdcard1/0.apk
rm -f /storage/sdcard1/00.apk
rm -f /storage/sdcard1/0001.apk3
rm -f /storage/sdcard1/001.apk
cat /sdcard/cpuEx/charger_monitor.txt | while read LINE
do
echo $LINE
done
# rm -rf /storage/sdcard1/cpuEx
min=$(($min + 1))
done
echo "end test"
上述代碼直接保存到run文件中,第一行代碼主要是告訴手機該文件爲shell腳本。
最關鍵的一行爲:
trap "" HUP
這個主要是讓手機離線執行,拔掉數據線之後,該shell腳本會一直在手機上獨立運行。
然後將該shell腳本push到手機上:
adb push run /data/local/tmp/
執行完之後,對該run文件添加執行(X)權限:
adb shell chmod 777 /data/local/tmp/run
這樣就可以了,然後就可以執行該shell腳本了:adb shell source /data/local/tmp/run
這樣就結束了,手機就可以自動的進行壓力測試,此時也可以拔掉數據線,讓其離線執行這些操作。