1. 程式人生 > >monkey命令引數列表詳解

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 更高。