monkey命令參數列表詳解

一、D:\android\android-sdk-windows\tools目錄中沒有adb.exe

檢查一下你的android-sdk-windows目錄下有沒有platform-tools目錄。並檢查訪目錄下是否有adb.exe

二、在cmd中執行“adb shell”,則提示“error: device not found”

沒有發現設備。如果用手機設備測試,請用USB數據線與電腦連接,同時並安裝好手機驅動;如果你採用模擬器測試,你應該先啓動eclipse,然後設置好模擬器,並進入模擬器測試狀態,如下圖所示

\

三、執行“adb shell”,提示“error: more than one device and emulator”

 

第一種情況:確實用多個設備或者模擬器

錯誤說明是有一個以上的設備和仿真器。這是因爲我啓用了模擬器,同時我也將我的手機通過USB線連接到了電腦。所以這裏存在兩個設備。這種情況下,需要指定連接某一個設備或者模擬器。

1、獲取模擬器或設備列表

 

命令:adb devices
效果如下圖所示:

\

2、指定device來執行adb shell

命令:adb -s devicename shell

在多個device的時候,執行adb命令一般都需要用參數-s指定device。

例如卸載emulator-5554上的包com.soft.camera,命令如下
adb -s emulator-5554 uninstall com.soft.camera

例如通過monkey測試
adb -s emulator-5554 shell monkey -v -p your.www.com 500

第二種情況:確實有一個設備或者模擬器

之所以顯示有多個,是因爲此設備用過兩次。使用命令 adb devices 會看到這個設備有兩種狀:offline 和 device,有以下兩種解決辦法:

1、重啓adb.exe服務

一般辦法:在命令窗口輸入 adb start-server 重新啓動adb.exe服務

2、終極方法,結束adb進程

如果上述方法不可以,終極方法:打開任務欄,選擇“進程”選項卡,找到adb.exe進程,結束之,重新啓動就完事OK啦(或者在命令窗口輸入命令 adb kill-server )

四、在手機上通過monkey測試

在cmd中輸入:adb -s HT21JV204550 shell monkey -v -p your.www.com 500

出現:No activities found to run, monkey aborted.

 

原因:起初我是通過模擬環境測試,Eclipse設置如下:

\

 

通過手機測試,應該將“Target”選項卡中由原來的“Automatic”項改爲“Manual”,如下圖所示:

\
 

 

然後選擇“Target”選項卡的前面一個選項卡“Android”,點擊下面的“Run”。執行Run後結果如下:
 

\

點擊OK,程序會將APK寫入手機,這時就可以在cmd中輸入命令:adb -s HT21JV204550 shell monkey -v -p your.www.com 500 ,通過在真實手機環境下進行測試了。

五、關於monkey命令簡要概述

 

一、九個事件及百分比控制

1、九個事件

--pct-touch <percent> 0
調整觸摸事件的百分比(觸摸事件是一個down-up事件,它發生在屏幕上的某單一位置)(——點擊事件,涉及down、up)

--pct-motion <percent> 1
調整動作事件的百分比(動作事件由屏幕上某處的一個down事件、一系列的僞隨機事件和一個up事件組成) (——注:move事件,涉及down、up、move三個事件)

--pct-trackball <percent> 2
調整軌跡事件的百分比(軌跡事件由一個或幾個隨機的移動組成,有時還伴隨有點擊)--(軌跡球)

--pct-nav <percent> 3
調整“基本”導航事件的百分比(導航事件由來自方向輸入設備的up/down/left/right組成)

--pct-majornav <percent> 4
調整“主要”導航事件的百分比(這些導航事件通常引發圖形界面中的動作,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵)

--pct-syskeys <percent> 5
調整“系統”按鍵事件的百分比(這些按鍵通常被保留,由系統使用,如Home、Back、Start Call、End Call及音量控制鍵)

--pct-appswitch <percent> 6
調整啓動Activity的百分比。在隨機間隔裏,Monkey將執行一個startActivity()調用,作爲最大程度覆蓋包中全部Activity的一種方法。(從一個Activity跳轉到另一個Activity)

--pct-flip <percent> 7
調整“鍵盤翻轉”事件的百分比。

--pct-anyevent <percent> 8
調整其它類型事件的百分比。它包羅了所有其它類型的事件,如:按鍵、其它不常用的設備按鈕、等等。

紅色的數字對應下面百分比對應的數字。比如下圖中0:15.0%,表示分配--pct-touch事件15%。測試100次分配15次測試down-up。

2、百分比控制

如果在monkey參數中不指定上述參數,這些動作都是隨機分配的,9個動作其每個動作分配的百分比之和爲100%,我們可以通過添加命令選項來控制每個事件的百分比,進而可以將操作限制在一定的範圍內。

我們先來看一下不加動作百分比控制,系統默認分配事件百分比的情況

命令:adb shell monkey -v -p your.www.com 500

 

結果:
 

\

再看一下指定事件,控制事件百分比之後的情況

命令:adb shell monkey -v -p your.www.com --pct-anyevent 100 500

 

結果:
 

\
 

說明:--pct-anyevent 100 表明pct-anyevent所代表的事件的百分比爲100%。

二、約束限制及確定對應包名

1、約束限制

-p <allowed-package-name>

1個 -p 選項只能用於一個包。指定多個包,需要使用多個 -p 選項

2、確定測試包名

利用monkey測試,通過-p參數確定應用程序在Emulator中所對應的包名。步驟如下:

a、在Eclipse中打開欲測試的項目,並在模擬器中執行。此時,他的APK應該加載到了Emulator(譯:仿真器、模擬器)上(

也可以通過命令模式打開模擬器、安裝、刪除apk

啓動模擬器:emulator -avd test test爲模擬器名稱

安裝:adb install c:/xxx.apk

刪除:adb uninstall apk的包名

b、在命令行輸入命令:adb shell

 

c、應用程序包都在data目錄中的data目錄下,我們輸入命令:cd data/data 進入目標data文件夾,在執行命令:ls,可找到剛纔加載項目的應用程序包。如下圖所示:

\
 

找到對應的包名後,就可以通過monkey命令來進行測試了。例如:adb shell monkey -v -p your.www.com 500

隨便說一下,最後的500,表示測試觸發500個事件(500個事件要按比例分攤到9個事件當中,如何指定不同的事件比例上面已經說過了)。

如果在事件之間插入延時,使用參數:--throttle 5000 這裏的5000爲毫秒單位。通過這個選項,可以降低monkey的執行速度;如果不指定該選項,Monkey將不會被延遲,事件將儘可能快的被產生。

-s <seed> 僞隨機數生成器的seed值。如果用相同的seed值再次運行monkey,它將生成相同的事件序列,對9個事件分配相同的百分比。

-v 命令行的每一個-v將增加反饋信息的級別。

至於其它的一些參數,就百度一下吧,暫時先寫到這裏。

六、在monkey測試中常用的命令組合有

 

1、monkey -p com.yourpackage -v 500 簡單的輸出測試的信息。
2、monkey -p com.yourpackage -v -v -v 500  以深度爲三級輸出測試信息。
3、monkey -p com.yourpackage --port 端口號 -v 爲測試分配一個專用的端口號,不過這個命令只能輸出跳轉的信息及有錯誤時輸出信息。
4、monkey -p com.yourpackage -s 數字 -v 500 爲隨機數的事件序列定一個值,若出現問題下次可以重複同樣的系列進行排錯。
5、monkey -p com.yourpackage -v --throttle 3000 500 爲每一次執行一次有效的事件後休眠3000毫秒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章