1) 手機須要先獲取root權限;shell
2) 手機和電腦相連(電腦能夠訪問手機裏面的文件)app
1) 使用adb devices 命令查看電腦手機是否相連;測試
下圖表示手機已連上電腦spa
2) 使用adb shell 進入測試機中調試
3) 通常安卓手機的程序包都在data/data目錄中的,咱們須要進入data/data目錄中,輸入命令cd data/data,就進入到data/data目錄中,ls看當前目錄的內容日誌
出現Permission denied,沒有權限訪問當前目錄(緣由可能有兩個,第一:手機沒有成功獲取root權限;第二:不是管理員登陸)blog
這邊確認手機已經獲取root權限,緣由爲第二種事件
4) Su命令切換到管理員權限開發
此時使用ls就能夠成功查看裏面的包名了it
可是發現我想要測試的安裝包並不在這個目錄裏面
5) 使用命令查看全部的包名 pm list package –f
找到本身想測試的包,或者找開發問包名均可以
6) 這裏測試的是花生WiFi,包名爲(com.nfyg.hsbb)
7) 基本參數
1、-p <apackage.name>
做用:指定包名,Monkey將只訪問這些包中的Activity。指定多個包,使用多個-p,一個-p後面接一個包名。
注:經常使用參數
例:adb shell monkey -p com.Android.browser -v 10
2、–v 表示反饋日誌信息級別:Monkey中日誌分別有三種級別:精簡(默認)、普通、詳細,上面運行的結果就是默認的精簡。
語法格式是用 「-v」 來表示日誌的級別:
-v 表明 精簡;-vv 或者 -v -v 表明 普通;-vvv 或 -v -v -v 表明 詳細。
注:經常使用參數
3、--throttle <milliseconds> 用於指定用戶操做(即事件)間的時延,單位是毫秒
例如:adb shell monkey -p com.Android.browser –throttle 1000 100 每次隨機事件中間的間隔時間爲1000毫秒,也就是1秒鐘
注:經常使用參數
4、--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%的軌跡球事件,其餘事件隨機比例分佈。
5、-s <seed> 用於指定僞隨機數生成器的seed值,若是seed相同,則兩次Monkey測試所產生的事件序列也相同的。
例如:adb shell monkey -p com.tencent.mm –s 10 100
運行兩次測試的效果是相同的,由於模擬的用戶操做序列(每次操做按照必定的前後順序所組成的一系列操做,即一個序列)是同樣的。操做序列雖然是隨機生成的,可是隻要咱們指定了相同的Seed值,就能夠保證兩次測試產生的隨機操做序列是徹底相同的,因此說Monkey是僞隨機的。
6、adb shell monkey --help 查看全部命令
調試用:
1、--ignore-crashes
做用:一般,應用發生崩潰或異常時Monkey會中止運行。若是設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:經常使用。
2、--ignore-timeouts
做用:一般,應用程序發生任何超時錯誤(如「Application Not responding」對話框)Monkey將中止運行,設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:經常使用。
3、--ignore-security-exception
做用:一般,當程序發生許可錯誤(例如啓動一些須要許可的Activity)致使的異常時,Monkey將中止運行。設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
注:經常使用。
8) 可使用exit退出shell命令,也能夠在shell裏面運行monkey命令;
9) 如下是簡短的操做事例:
想接什麼參數能夠本身添加
-p:後面接包名;
-V:日誌級別;
50:隨機點擊的次數;
>:E/a.txt:表示將運行的日誌放在電腦上的E盤裏面的a.txt文件中