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毫秒。
相關推薦
monkey命令引數列表詳解
一、D:\android\android-sdk-windows\tools目錄中沒有adb.exe 檢查一下你的android-sdk-windows目錄下有沒有platform-tools目錄。並檢查訪目錄下是否有adb.exe 二、在cmd中執行“adb she
monkey命令引數的詳解
簡要步驟:adb devices---瞭解包名--adb shell monkey -p 包名 -v 執行次數(多個引數的組合形成不同的用例以求最大的覆蓋)--當崩潰或無響應時分析monkey日誌 常規monkey命令(可直接在專案裡使用): adb shell mo
Linux RPM 命令引數使用詳解
rpm 執行安裝包二進位制包(Binary)以及原始碼包(Source)兩種。二進位制包可以直接安裝在計算機中,而原始碼包將會由 RPM自動編譯、安裝。原始碼包經常以src.rpm作為字尾名。 常用命
Linux rpm 命令引數使用詳解及強制安裝和忽略依賴
RPM是RedHat Package Manager(RedHat軟體包管理工具)類似Windows裡面的“新增/刪除程式” rpm 執行安裝包 二進位制包(Binary)以及原始碼包(Source)兩種。二進位制包可以直接安裝在計算機中,而原始碼包將會由RPM自動編譯、安
Linux RPM 命令引數使用詳解 檢視 rpm包依賴性
Install/Upgrade/Erase options: -i, --install install package(s) -v, --verbose provide more detailed output -h, --
Linux rpm 命令引數使用詳解及強制安裝和忽略依賴 與 學習rpmbuild總結
轉載連結:http://blog.sina.com.cn/s/blog_5d867af101019b7i.htmlRPMRPM是RedHat Package Manager(RedHat軟體包管理工具)類似Windows裡面的“新增/刪除程式”rpm 執行安裝包二進位制包(B
Linux rpm 命令引數使用詳解[介紹和應用]
http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html RPM是RedHat Package Manager(RedHat軟體包管理工具)類似Windows裡面的“新增/刪除程式
Linux中rpm命令引數使用詳解
Linux中rpm命令引數是我們在更新或升級中常用到它了,下面本文就來介紹rpm命令引數詳解,希望對各位朋友。 rpm 執行安裝包 二進位制包(Binary)以及原始碼包(Source)兩種。二進位制包可以直接安裝在計算機中,而原始碼包將會由RPM自動編譯、安裝。原始
轉:Android命令Monkey壓力測試,詳解
語句 shel gre href 輸入 white option blacklist 文件 停止Monkey命令: 1. ps命令 查找uiautomator的進程 打開cmd命令行窗口 輸入: adb shell ps | grep monkey 返回來的第一個數字,即
Android命令Monkey壓力測試,詳解
shell, monkey, system, Android, 檔案系統Monkey, 示例, 簡介 一、Monkey測試簡介 Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程式模擬使用者觸控式螢幕幕、滑動Trackball、按鍵等操作
Linux命令列引數執行詳解
轉自: http://www.groad.net/bbs/simple/?t2609.html 1. Linux 如何從命令列執行程式從 shell 中執行程式時,系統會為要執行的程式在記憶體中建立一個區域。分配給程式的記憶體區域可以位於實體記憶體的任何位置。為了使這一過程簡化,每個程式都被分配相同的虛
python argparse:命令列引數解析詳解
## 簡介 本文介紹的是***[argparse](https://docs.python.org/3/library/argparse.html)***模組的基本使用方法,尤其詳細介紹**add_argument**內建方法各個引數的使用及其效果。 本文翻譯自[argparse的官方說明](ht
詳細的<select>下拉列表詳解
刷新 焦點 root 失去 收集 asc aid isa document 我們使用表單下拉列表選擇數據,如省、市、縣、年、月等數據,我們即可使用下拉菜單表單進行設置。select 我下拉列表菜單標簽Option為下拉列表數據標簽Value 為Option的數據值(用於數據
Linux基礎命令(之一)詳解
linux 基礎命令 Linux基礎命令(之一)詳解學習linux的朋友都知道,系統大多數操作都是命令行的操作方式,當然如今也有圖形化界面的操作方式,但是多數情況下仍然使用命令的操作模式,所以命令的作用與用法是成為學好、學會Linux系統的必備前提,也是重點之一,所以今天來聊一聊一些基礎命令的用法與其
Linux性能監控命令之lsof詳解
轉換 device symbol 能夠 基礎 打開 init 可執行文件 ive 1. lsof 命令介紹 lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問
Linux命令之CP詳解
linux命令之cp詳解Linux命令之CP詳解嘿嘿,又一周過去了,大家過的怎麽樣呢,在這一周時間裏,小編可是又學到不少新知識呢。今天呢,小編就和大家分享一下Linux中我們常用的CP的命令,這裏的cp可是copy的簡寫噢。(容我嘚瑟一下) 學過linux的都知道,在我們操作的過程中,我們常常會用到cp這個命
用戶和組管理命令介紹與詳解
linux 命令用戶管理命令:useradd,userdel,usermod,passwd,chsh.chfn,finger,id,chageUseradd(建立用戶)useradd [options] USERNAME 例:useradd -g mygroup user2建立一個
jar命令的用法詳解(轉載)
load 可執行 list 最後一行 包含 ati target url 工具包 本文詳細講述了JAR命令的用法,對於大家學習和總結jar命令的使用有一定的幫助作用。具體如下: JAR包是Java中所特有一種壓縮文檔,其實大家就可以把它理解為.zip包。當然也是有區別的,J
ping命令知識 Ping命令工作原理詳解
pla bsp 知識 網吧 撥號 lock tcp 問題 mage 在網絡應用中,ping網速與IP地址等都是非常常用的命令,但大家知道ping命令的工作原理嗎?要知道這其中的奧秘,我們有必要來看看Ping命令的工作過程到底是怎麽樣的。下面介紹下ping命令的詳細知識。
rsync命令基礎使用詳解
rsync 遠程備份 linux 1.什麽是rsync ?Rsync是一個功能強大的增量備份,復制工具,rsync能夠復制刪除,增量同步本地和遠程的文件或者目錄,在本地復制方面能夠替代cp 遠程復制能夠替代scp但是優於scp,本地和遠程清空目錄或者文件內容等又能夠代替rm 而且效率比rm 更高。