一、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毫秒。