monkey工具
前言:最 近開始研究android自動化測試方法,對其中的一些工具、方法和框架做了一些簡單的整理,其中包括android測試框架、cts、monkey、 monkeyrunner、benchmark、其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流。
一、 什麼是monkey
monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流(如按鍵輸入、觸控螢幕輸入、手勢輸入等),實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。
二、 monkey的特徵
1、 測試的物件僅為應用程式包,有一定的侷限性。
2、 monky測試使用的事件流資料流是隨機的,不能進行自定義。
3、 可對monkeytest的物件,事件數量,型別,頻率等進行設定。
三、monkey的基本用法
基本語法如下:
$ adb shell monkey [options]
如果不指定options,monkey將以無反饋模式啟動,並把事件任意傳送到安裝在目標環境中的全部包。下面是乙個更為典型的命令列示例,它啟動指定的應用程式,並向其傳送500個偽隨機事件:
$ adb shell monkey -p your.package.name -v 500
四、monkey測試的乙個例項
通過這個例項,我們能理解monkey測試的步驟以及如何知道哪些應用程式能夠用monkey進行測試。
windows下(注:2—4步是為了檢視我們可以測試哪些應用程式包,可省略):
1、 通過eclipse啟動乙個android的emulator
2、 在命令列中輸入:adb devices檢視裝置連線情況
c:\documents and settings\administrator>adb devices
list of devices attached
emulator-5554 device
3、 在有裝置連線的前提下,在命令列中輸入:adb shell 進入shell介面
c:\documents and settings\administrator>adb shell #
4、 檢視data/data資料夾下的應用程式包。注:我們能測試的應用程式包都在這個目錄下面
c:\documents and settings\administrator>adb shell
# ls data/data
ls data/data
com.google.android.btrouter
com.android.providers.telephony
com.android.mms
com.android.providers.downloads
com.android.deskclock
com.android.email
com.android.providers.media
com.android.settings
jp.co.omronsoft.openwnn
com.android.providers.userdictionary
com.android.quicksearchbox
com.android.protips
com.android.browser
com.android.launcher
com.android.term
com.android.speechrecorder
com.android.server.vpn
com.android.defcontainer
com.svox.pico
com.android.customlocale
com.android.development
com.android.soundrecorder
com.android.providers.drm
com.android.spare_parts
com.android.providers.downloads.ui
com.android.fallback
com.android.netspeed
com.android.wall*****.livepicker
android.tts
com.android.htmlviewer
com.android.music
com.android.certinstaller
com.android.inputmethod.pinyin
com.android.providers.subscribedfeeds
com.android.inputmethod.latin
com.android.gallery
com.android.systemui
com.android.contacts
com.android.phone
com.android.sdksetup
com.android.calculator2
com.android.packageinstaller
com.android.camera
com.android.providers.settings
com.thestore.main
com.android.providers.contacts
5、 以com.android.calculator2作為物件進行monkeytest
#monkey -p com.android.calculator2 -v 500
其中-p表示物件包 –v 表示事件數量
執行過程中,emulator中的應用程式在不斷地切換畫面。
按照選定的不同級別的反饋資訊,在monkey中還可以看到其執行過程報告和生成的事件。
注:具體引數的設定可參考:
五、關於monkey測試的停止條件
monkey test執行過程中在下列三種情況下會自動停止:
1、如果限定了monkey執行在乙個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。
2、如果應用程式崩潰或接收到任何失控異常,monkey將停止並報錯。
通過多次並且不同設定下的monkey測試才算它是乙個穩定性足夠的程式。
**:其他資源:
Android自動測試之Monkey工具
monkey工具 首先,需要配置好android開發環境,把需要測試的apk安裝在模擬器或裝置中 前言 最近開始研究android自動化測試方法,對其中的一些工具 方法和框架做了一些簡單的整理,其中包括android測試框架 cts monkey monkeyrunner benchmark 其它t...
Android自動測試之Monkey工具
monkey工具 前言 最近開始研究android自動化測試方法,對其中的一些工具 方法和框架做了一些簡單的整理,其中包括android測試框架 cts monkey monkeyrunner benchmark 其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流。...
Android自動測試之Monkey工具
monkey工具 前言 最近開始研究android自動化測試方法,對其中的一些工具 方法和框架做了一些簡單的整理,其中包括android測試框架 cts monkey monkeyrunner benchmark 其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流。...