Monkey測試1——Monkey的使用,monkey測試1
1 Monkey工具使用 2 3 一、 什麼是Monkey 4 5 Monkey是Android中的一個命令列工具,可以運行在模擬器裡或實際裝置中。它向系統發送偽隨機的使用者事件流(如按鍵輸入、觸控螢幕輸入、手勢輸入等),實現對正在開發的應用程式進行壓力測試。Monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效方法。 6 7 二、 Monkey的特徵 8 9 1、 測試的對象僅為應用程式套件組合,有一定的局限性。 10 11 2、 Monkey測試使用的事件流資料流是隨機的,不能進行自訂。 12 13 3、 可對MonkeyTest的對象,事件數目量,類型,頻率等進行設定。 14 15 三、Monkey的基本用法 16 17 基本文法如下: 18 19 $ adb shell monkey [options] 20 21 如果不指定options,Monkey將以無反饋模式啟動,並把事件任意發送到安裝在目標環境中的全部包。下面是一個更為典型的命令列樣本,它啟動指定的應用程式,並向其發送500個偽隨機事件: 22 23 $ adb shell monkey -pyour.package.name -v 500 24 25 四、Monkey測試的一個執行個體 26 27 通過這個執行個體,我們能理解Monkey測試的步驟以及如何知道哪些應用程式能夠用Monkey進行測試。 28 29 Windows下(註:2和4步是為了查看我們可以測試哪些應用程式套件組合,可省略): 30 31 1、 通過eclipse啟動一個Android的emulator 32 33 2、 在命令列中輸入:adb devices查看裝置串連情況 34 35 C:\Documents andSettings\Administrator>adb devices 36 37 List of devices attached 38 39 emulator-5554 device 40 41 3、 在有裝置串連的前提下,在命令列中輸入:adb shell 進入shell介面 42 43 C:\Documents andSettings\Administrator>adb shell 44 45 # 46 47 4、 查看data/data檔案夾下的應用程式套件組合。註:我們能測試的應用程式套件組合都在這個目錄下面 48 49 C:\Documents andSettings\Administrator>adb shell 50 51 # ls data/data 52 53 ls data/data 54 55 com.google.android.btrouter 56 57 com.android.providers.telephony 58 59 com.android.mms 60 61 com.android.providers.downloads 62 63 com.android.deskclock 64 65 com.android.email 66 67 com.android.providers.media 68 69 com.android.settings 70 71 jp.co.omronsoft.openwnn 72 73 com.android.providers.userdictionary 74 75 com.android.quicksearchbox 76 77 com.android.protips 78 79 com.android.browser 80 81 com.android.launcher 82 83 com.android.term 84 85 com.android.speechrecorder 86 87 com.android.server.vpn 88 89 com.android.defcontainer 90 91 com.svox.pico 92 93 com.android.customlocale 94 95 com.android.development 96 97 com.android.soundrecorder 98 99 com.android.providers.drm100 101 com.android.spare_parts102 103 com.android.providers.downloads.ui104 105 com.android.fallback106 107 com.android.providers.applications108 109 com.android.netspeed110 111 com.android.wallpaper.livepicker112 113 android.tts114 115 com.android.htmlviewer116 117 com.android.music118 119 com.android.certinstaller120 121 com.android.inputmethod.pinyin122 123 com.android.providers.subscribedfeeds124 125 com.android.inputmethod.latin126 127 com.android.gallery128 129 com.android.systemui130 131 com.android.contacts132 133 com.android.phone134 135 com.android.sdksetup136 137 com.android.calculator2138 139 com.android.packageinstaller140 141 com.android.camera142 143 com.android.providers.settings144 145 com.thestore.main146 147 com.android.providers.contacts148 149 5、 以com.android.calculator2作為對象進行MonkeyTest150 151 #monkey -p com.android.calculator2-v 500152 153 其中-p表示對象包 –v 表示事件數目量154 155 運行過程中,Emulator中的應用程式在不斷地切換畫面。156 157 按照選定的不同層級的反饋資訊,在Monkey中還可以看到其執行過程報告和產生的事件。158 159 註:具體參數的設定可參考:160 161 http://developer.android.com/guide/developing/tools/monkey.html162 163 五、關於Monkey測試的停止條件164 165 Monkey Test執行過程中在下列三種情況下會自動停止:166 167 1、如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。168 169 2、如果應用程式崩潰或接收到任何失控異常,Monkey將停止並報錯。170 171 3、如果應用程式產生了應用程式不響應(applicationnot responding)的錯誤,Monkey將會停止並報錯。172 173 通過多次並且不同設定下的Monkey測試才算它是一個穩定性足夠的程式。