Android Monkey測試

Android Monkey測試

Android中的monkey是對app作界面壓力測試的一款工具,它能夠向模擬器或者真機發送一系列隨機的用戶操做事件、或者系統事件。android

概述

Monkey是android sdk自帶的一款命令行工具,適用於任何android模擬器或者真機。它經過向手機發送一系列的隨機事件,來測試手機app的穩定性。shell

Monkey命令包含一些參數,大致能夠分爲四類: app

  • 基本參數,如指定隨機事件的個數
  • 操做約束,如限制隨機操做在指定的包內
  • 事件類型和頻率
  • 調試選項

Monkey運行過程當中,向android系統發送隨機事件。而且,monkey會監視android系統的運行狀態,保證下面的三點: 工具

  • 若是咱們限制了monkey只在一個或幾個包中運行。那麼monkey在運行過程當中會監視產生的隨機事件,若是某一事件會跳到其餘包中,monkey就會丟棄該事件,確保monkey只在指定的包中運行。
  • 若是咱們的程序出現crash或者有未被捕獲的異常,monkey就會中止運行,並報錯。
  • 若是咱們的程序出現未響應,monkey會中止運行,並報錯。

Monkey的基本用法

咱們能夠在直接在命令行或者腳本中運行monkey,前提是android sdk環境已經ok。 測試

基本語法以下: ui

$ adb shell monkey [options] <event-count>

若是沒有其餘參數限制,monkey默認以quiet模式運行,它會隨機向手機中的包發送請求。通常請求,咱們都須要指定包名,下面的命令限制了包名,且指定產生500個隨機事件: spa

$ adb shell monkey -p com.yeetrack.android.client -v 500

Monkey的參數

下面列出了Monkey可使用的參數。命令行

基本參數

  • --help
    打印幫助文檔
  • -v
    命令行中的每個-v將增長反饋信息的級別。Level 0(也是默認值)除啓動提示、測試完成和最終結果以外,其餘的信息不多。Level 1提供較爲詳細的測試信息,如逐個發送到Activity的事件。Level 2提供更加詳細的設置信息,如測試中被選中的或未被選中的Activity,例子adb shell -v -v 500
  • -s <seed>
    僞隨機生成器的種子。若是seed值同樣,那麼產生的monkey事件,序列也是同樣的
  • --throttle <毫秒>
    在事件之間加入固定時間延遲,單位毫秒。若是不加,monkey會盡量快地產生事件
  • --pct-touch <percent>
    調整觸摸事件的百分比(觸摸就是一個點擊事件)
  • --pct-motion <percent>
    調整動做事件的百分比,(動做事件指一個down事件,一系列隨機事件,而後一個up事件)
  • --pct-trackball <percent>
    調整軌跡事件的百分比,(軌跡事件由一個或多個移動組成,有時伴隨點擊事件)
  • --pct-nav <percent>
    調整基本導航事件的百分比,(導航事件就是方向鍵,上下左右)
  • --pct-majornav <percent>
    調整主要導航事件的百分比(這些導航事件一般引起圖形界面中的動做,如5-way鍵盤的中間按鍵,回退按鍵,菜單按鍵)
  • --pct-syskeys <percent>
    調整系統按鍵事件的百分比(這些事件由系統保留,如Home、Back、Start、Call、End Call及音量控制鍵)
  • --pct-appswitch <percent>
    調整啓動activity的百分比。在隨機間隔裏,Monkey將執行一個startActivity()調用,做爲最大程度覆蓋保重所有Activity的一種方法。
  • --pct-anyevent <percent>
    調整其餘類型事件的百分比。包含了全部其餘類型的事件,如按鍵、其餘不常使用的設備按鍵、等。

操做約束

  • -p <allowed-package-name>
    若是使用該參數指定了一個或幾個包,monkey將只容許啓動這些包中的activity。若是你的程序,須要訪問別的activity(如聯繫人界面),那必須將聯繫人的包也指定一下,不然沒法訪問。若是沒有指定包名,monkey將容許啓動安裝在手機上的全部包。若是要指定多個包,須要多個-p選項,每一個-p指定一個包。
  • -c <main-category>
    若是使用此參數指定了一個或多個類別,Monkey將只容許系統啓動被這些類別中的某個類別列出的Activity,若是不指定任何類別,Monkey將選擇下列類別中列出的Activity:
    Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多個類別,須要多個-c選項。

調試選項

  • --dbg-no-event
    設置此選項,Monkey將執行初始啓動,進入到一個測試Activity,而後再也不產生事件。爲了獲得最佳結果,把它與-v,一個或幾個包約束,以及一個保持Monkey運行30秒或更長事件的非零值聯合起來,從而提供一個環境,能夠監視應用程序所調用的包之間的轉換。
  • --hprof
    設置此選項,將在Monkey事件序列以前和以後當即生成profiling報告。這將會在data/misc中生成大文件(5M),因此當心使用。
  • 繼續閱讀→

相關文章
相關標籤/搜索