Android自動化測試之Monkey

https://blog.csdn.net/u011436666/article/details/53265372html

一、Monkey簡介
Monkey是Android中的一個命令行工具,能夠運行在模擬器裏或實際設備中。它向系統發送僞隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對應用程序的穩定性測試。Monkey測試是一種爲了測試軟件的穩定性、健壯性的快速有效的方法。shell

Monkey幫助文檔:
monkey文檔地址爲:< sdk >/docs/tools/help/monkey.html
在目錄/docs/tools/help/下有很是多經常使用工具的幫助文檔,若是訪問Google網站不方便的話,咱們就可使用這個來查詢。工具

sdk目錄下幫助文檔: 測試


二、Monkey命令
咱們能夠簡單的用:網站

adb shell monkey
1
來使用monkey,monkey腳本是放在/system/bin/目錄下的。.net

運行以後出現以下界面:命令行

 

此時因爲咱們沒有設置參數,monkey將會顯示usage信息界面,從裏面咱們能夠看到基本的參數。原來咱們少了一個必須的參數COUNT。
最簡單的monkey命令就以下:調試

adb shell monkey 100
1
這樣咱們就指定了發送100個事件,並把事件任意發送到安裝在目標環境中的所有包。若是要制定選項呢?日誌

一般咱們有兩種方式啓動Monkey:htm

直接PC啓動

adb shell monkey [options] < COUNT>

Shell端啓動

adb shell
monkey [options] < COUNT>

這兩種方式的區別就是,PC啓動能夠將日誌保存在PC上,Shell端啓動Monkey日誌能夠保存在手機裏。

那麼咱們會用到哪些命令呢?這個就不少了,主要分爲如下4種:
(這裏筆者以Xmind軟件來製做思惟導圖的形式分析經常使用命令)

2.1 常規類
主要有幫助信息和日誌打印等級兩個命令:

 

2.2 事件類
對隨機事件進行調控,使其按照設定運行:

 

2.3 約束類
讓你的隨機事件範圍控制在某幾個包或者類中:


2.4 調試類
對monkey進行一些簡單的調試,以便於快速的定位問題:

 

三、Monkey使用
monkey的使用咱們能夠按照上面講過的命令選擇須要的,進行組合便可,下面簡單的說明一下其餘要點。(本文僅講述了在Windows環境下,Mac和Linux相似)

3.1 獲取包名
若是咱們要對某一個或多個包進行monkey測試,咱們能夠指定包名,可是當咱們不清楚完整的包名時應該怎麼辦呢?

咱們能夠在CMD命令行中來查看本機裝的全部apk的包名。執行如圖所示命令便可:

 

注意:執行su命令必定要保證設備已經獲取了root權限,不然會執行失敗。

而後再執行:

ls data/data
1
便可以顯示出全部package name,咱們查找須要的便可。

固然若是咱們設備中安裝的App不少的話,若是在CMD 窗口中看package name,顯然不是一種明智的辦法,那麼咱們能夠將其導入到SD卡中,再pull到電腦,以方便咱們之後使用。

3.2 運行&中止monkey
咱們作一個簡單的示例,主要說明怎麼中止運行中的monkey。
首先在CMD中運行以下monkey命令:

adb shell monkey -p me.ele -p com.youdao.dict --throttle 1000 --wait-dbg 10000
1
在執行的過程當中若是咱們想中止執行怎麼辦呢?這是咱們能夠點擊Ctrl+C來中止CMD運行,可是咱們能夠發現設備仍然在瘋狂運行,並未中止下來。難道咱們只有重啓這個「萬能」的方法嗎?這時候咱們能夠用

ps | grep monkey1命令來找出monkey所在的進程id,再kill掉此進程便可。以下圖所示:

相關文章
相關標籤/搜索