提:按照前面的《Monkey環境搭建》先把環境搭建好。
此處為真機測試:
1.首先需要將手機連接到PC,測試連接是否正常,可在cmd里輸入adb devices來進行驗證;
2.輸入adb shell 進入shell命令行
3.獲取要測試的APP包名:可以直接問開發,也可以通過在shell命令行中輸入以下命令:
pm list packages 列出所有包名來進行查找
pm list packages com.xx 查找所有包含com.xx的包
pm list packages com.xx.yy 查找特定包是否存在
3. (1) 對特定APP包進行測試的命令為 monkey -p com.xx 50 -v (其中-p指定包名;50為偽隨機事件個數;-v為日志詳細程度)
(2) 也可以通過adb shell進入手機再發送命令
Monkey基本參數
1、-help 查看所有命令
2、-p <apackage.name>
作用:指定包名,Monkey將只訪問這些包中的Activity。指定多個包,使用多個-p,一個-p后面接一個包名。
注:常用參數
例:adb shell monkey -p com.Android.browser -v 10
3、–v
作用:日志輸出的詳細程度
-v:除了啟動、測試完成和最終結果外只提供較少的信息。
-v -v (-vv):提供了較為詳細的測試信息,如逐個發送到Activity的事件信息。
-v -v -v (-vvv):提供了更多的設置信息,如測試中選中或未選中的Activity信息。
注:常用參數
4、-s <seed>
作用:偽隨機數生成器的seed值。
monkey測試是隨機的,產生問題復現很困難,所以人為加一個seed值(所以是偽隨機),方便復現。
例:adb shell monkey -s 123456888 -v 500
注:常用參數
5、--throttle <milliseconds>
作用:用戶事件間隔時間
如果不設置會以最快速度完成偽隨機事件;建議設置300ms(實際用戶最快的動作)。
例:adb shell monkey --throttle 300 -v 500
注:常用參數
6、--pct-touch <percent> 調整觸摸事件的百分比(觸摸事件是一個down-up事件,它發生在屏幕上的某單一位置。
注意percent代表了這個事件占到所有隨機事件的百分比數,多個參數指定的時候,加起來的百分比數不能多於100。剩下的幾個參數同理:
--pct-motion <percent> motion一般代表的是直線滑動,事件由屏幕上某處的一個down事件、一系列的偽隨機事件和一個up事件組成;
--pct-trackball <percent> 軌跡事件由一個或幾個隨機的移動組成,有時還伴隨有點擊;
--pct-nav <percent> 早期Android手機上的up/down/left/right按鍵;
--pct-majornav <percent> 引發圖形界面中的動作,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵;
--pct-syskeys <percent> 這些按鍵通常被保留,由系統使用,如Home、Back、Start Call、End Call及音量控制鍵;
--pct-appswitch <percent> 在隨機間隔里,Monkey將執行一個startActivity()調用,作為最大程度覆蓋包中全部Activity的一種方法;
--pct-anyevent <percent> 它包含了所有其它類型的事件,如:按鍵、其它不常用的設備按鈕等等
例如:adb shell monkey -p com.tencent.mm --pct-touch 50 --pct-trackball 30 100 執行100次的隨機事件中,有50%的touch事件和30%的軌跡球事件,其他事件隨機比例分布。
調試用:
1、--ignore-crashes
作用:通常,應用發生崩潰或異常時Monkey會停止運行。如果設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:常用。
2、--ignore-timeouts
作用:通常,應用程序發生任何超時錯誤(如“Application Not responding”對話框)Monkey將停止運行,設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:常用。
3、--ignore-security-exception
作用:通常,當程序發生許可錯誤(例如啟動一些需要許可的Activity)導致的異常時,Monkey將停止運行。設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:常用。