MonkeyTest 測試流程
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供伊犁網(wǎng)站建設(shè)、伊犁做網(wǎng)站、伊犁網(wǎng)站設(shè)計、伊犁網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、伊犁企業(yè)網(wǎng)站模板建站服務(wù),10余年伊犁做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
1、常用的命令參數(shù)說明:
-s
seed值,設(shè)置這個參數(shù)的主要作用是程序員可以重復(fù)執(zhí)行這個命令,seed值相同則monkey測試序列也大致一樣。
-p 指定要測試的包,參數(shù)跟的是apk的package id
--pct-touch
調(diào)整觸摸事件的百分比(觸摸事件是一個down-up事件,它發(fā)生在屏幕上的某單一位置)
--pct-motion
調(diào)整動作事件的百分比(動作事件由屏幕上某處的一個down事件、一系列的偽隨機事件和一個up事件組成)
--pct-nav
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來自方向輸入設(shè)備的up/down/left/right組成)
--pct-majornav
調(diào)整“主要”導(dǎo)航事件的百分比(中間按鍵、回退按鍵、菜單按鍵)
--pct-syskeys
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用,如Home、Back、Start Call、End Call及音量控制鍵)
--ignore-crashes
通常,當應(yīng)用程序崩潰或發(fā)生任何失控異常時,Monkey將停止運行。如果設(shè)置此選項,Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計數(shù)完成
--ignore-timeouts
通常,當應(yīng)用程序發(fā)生任何超時錯誤(如“Application Not Responding”對話框)時,Monkey將停止運行。如果設(shè)置此選項,Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計數(shù)完成
--ignore-security-exceptions
通常,當應(yīng)用程序發(fā)生許可錯誤(如啟動一個需要某些許可的Activity)時,Monkey將停止運行。如果設(shè)置了此選項,Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計數(shù)完成
--monitor-native-crashes
監(jiān)視并報告Android系統(tǒng)中本地代碼的崩潰事件
--ignore-native-crashes
通常,當應(yīng)用程序本地代碼發(fā)生崩潰時,Monkey將停止運行。如果設(shè)置了此選項,Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計數(shù)完成
--throttle
在事件之間插入固定延遲。通過這個選項可以減緩Monkey的執(zhí)行速度
-v
命令行的每一個-v將增加反饋信息的級別,最高級別是3個-v
Count
Monkey執(zhí)行總次數(shù)
2、測試步驟
(1) 手機上先安裝上apk
(2) 手機連接上電腦
(3) 啟動命令行
(4) 輸入monkey命令
adb shell monkey -s 1000 -p packageid --pct-touch 20 --pct-motion 20 --pct-nav 20 --pct-majornav 20 --pct-syskeys 20 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes --throttle 300 -v -v -v 36000 > XXX.txt
注意:-s值每次要單設(shè)一個隨機值,每次的值是不同的
(5) 等待命令結(jié)束,可以不用人為干預(yù)
3、測試報告處理
根據(jù)第二步的命令最后把測試日志重定向到了文件XXX.txt,到你執(zhí)行monkey測試的目錄下把文件找出來打開查看,分別搜索exception,anr,crash三個關(guān)鍵詞,如果搜索結(jié)果有發(fā)現(xiàn)這些關(guān)鍵詞,則把該日志文件發(fā)送給相關(guān)的android程序員進行處理。如果未搜索到這些關(guān)鍵字,則說明此次測試結(jié)果較理想,沒發(fā)現(xiàn)異常,以后可以再接著測試。
4、意外情況處理
(1)命令已開始執(zhí)行但發(fā)現(xiàn)命令設(shè)置有問題例如忘了設(shè)置 –s的參數(shù),要怎樣才能停止運行呢?
答:monkey是手機內(nèi)部命令,一旦開始執(zhí)行無論手機是否還連著電腦,那么它都會堅持到總次數(shù)結(jié)束才會停止,中途停止的方法是另開一個命令行窗口,執(zhí)行以下兩條命令:
adb shell ps|findstr monkey
adb shell kill -9 pid
例如上圖中的結(jié)果是:adb shell kill -9 29293
(2)如果不知道要測的應(yīng)用的package id,可以詢問程序員或使用以下方式自己查看:
在命令行上使用 adb logcat 命令,然后手機上點擊此apk,通過logcat上打印的日志查找package id