Monkey用真機作測試的步驟

1 必備條件

1) 手機須要先獲取root權限;shell

2) 手機和電腦相連(電腦能夠訪問手機裏面的文件)app

2  操做步驟

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文件中

相關文章
相關標籤/搜索