① 我用monkey測了個軟體,後面遇到崩潰就停止運行了,然後我後面在打開之前測試的軟體一點進入就崩潰
一、簡介Monkey是android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey包括許多選項,它們大致分為四大類:基本配置選項,如設置嘗試的事件數量運行約束選項,如設置只對單獨的一個包進行測試事件類型和頻率調試選項在Monkey運行的時候,它生成事件,並把它們發給系統。同時,Monkey還對測試中的系統進行監測,對下列三種情況進行特殊處理(自動停止):如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。如果應用程序崩潰或接收到任何失控異常,Monkey將停止並報錯。如果應用程序產生了應用程序不響應(applicationnotresponding)的錯誤,Monkey將會停止並報錯。按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件二、測試准備Monkeytest前必須先進入android設備的adbshell(AndroidSDK環境配置不在此描述,網上有很多)步驟如下:1.開始—>運行—>cmd2.usb連接手機,輸入adbshell命令,待出現即可輸入以下內容3.進入手機後,輸入相應的monkey命令即可測試三、基本命令格式adbshellmonkey–p程序包–v測試次數比如「adbshellmonkey–pcom.htc.Weather–v20000」意思是對com.htc.Weather這個程序包單獨進行一次20000次的monkey測試其中程序包名稱可以在串口終端這句命令獲得:lsdata/data顯示所有程序包四、測試Log獲取用Monkeytest測試,為了方便分析問題,可以在命令monkey命令後面加上「|logcat-vtime」,這樣就能邊測試邊列印Log(記得用終端保存Log文本)例如:adbshellmonkey–pcom.htc.Weather–v20000|logcat-vtime但是這個組合在monkey測試完成後,logcat仍然在執行,測試時需要注意。如果測試monkey碰到crash或者anr(程序強制性退出或不響應)現象時,在抓取log的同時需要提供traces.txt,步驟如下:1.測試版本需要具備root許可權2.進入data/anr目錄下面3.將traces.txt文件拷貝到TF卡中,然後拷貝出來發給軟體分析即可
② 如何用 appium 實現 iOS 以及 Android 的 Monkey 測試
Android測試工具包括:AndroidTestKit,AndroidJUnit4,Appium,calabash-android,Monkey,MonkeyTalk,NativeDriver,Robolectric,RoboSpock,Robotium,UIAutomator,SelendroidAndroidTestKit組Google源測試工具用於Android包含EspressoAPI用於編寫簡潔靠AndroidUI測試AndroidJUnit4讓JUnit4直接運行Android設備源命令行工具Appium源、跨自化測試工具用於測試原輕量移應用支持iOS,AndroidFirefoxOSAppium驅蘋UIAutomation庫AndroidUiAutomator框架使用SeleniumWebDriverJSON協議AppinmiOS支持基於DanCuellar'siOSAuto.Appium同綁定Selendroid用於Android測試
③ 如何進行Monkey Test
一、簡介
Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey包括許多選項,它們大致分為四大類:
基本配置選項,如設置嘗試的事件數量
運行約束選項,如設置只對單獨的一個包進行測試
事件類型和頻率
調試選項
在Monkey運行的時候,它生成事件,並把它們發給系統。同時,Monkey還對測試中的系統進行監測,對下列三種情況進行特殊處理(自動停止):
如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。
如果應用程序崩潰或接收到任何失控異常,Monkey將停止並報錯。
如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止並報錯。
按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件
二、測試准備
Monkey test前必須先進入android設備的adb shell(Android SDK環境配置不在此描述,網上有很多)步驟如下:
1. 開始—>運行—>cmd
2. usb連接手機,輸入 adb shell 命令,待出現 即可輸入以下內容
3. 進入手機後,輸入相應的monkey命令即可測試
三、基本命令格式
adb shell monkey –p 程序包 –v 測試次數
比如「adb shell monkey –p com.htc.Weather –v 20000」意思是對com.htc.Weather 這個程序包單獨進行一次20000次的monkey測試
其中程序包名稱可以在串口終端這句命令獲得:ls data/data 顯示所有程序包
四、測試Log獲取
用Monkey test測試,為了方便分析問題,可以在命令monkey命令後面加上 「|logcat -v time」,這樣就能邊測試邊列印Log(記得用終端保存Log文本)例如:
adb shell monkey –p com.htc.Weather –v 20000|logcat -v time
但是這個組合在monkey測試完成後,logcat仍然在執行,測試時需要注意。
如果測試monkey碰到crash或者anr(程序強制性退出或不響應)現象時,在抓取log的同時需要提供traces.txt,步驟如下:
1. 測試版本需要具備root許可權
2. 進入data/anr目錄下面
3. 將traces.txt文件拷貝到TF卡中,然後拷貝出來發給軟體分析即可
④ 安卓應用跑monkey,如何讓monkey固定跑一個應用包里的一個activity, monk
Monkey的基本用法:
基本語法如下:
$ adb shell monkey [options]
如果不指定options,Monkey將以無反饋模式啟動,並把事件任意發送到安裝在目標環境中的全部包。下面是一個更為典型的命令行示例,它啟動指定的應用程序,並向其發送500個偽隨機事件:
$ adb shell monkey -p your.package.name -v 500
Monkey的測試步驟:
1、通過eclipse啟動一個Android的emulator
2、在cmd命令行中輸入:adb devices查看設備連接情況
3、在有設備連接的前提下,在命令行中輸入:adb shell進入shell界面
4、查看data/data(輸入ls data/data)文件夾下的應用程序包。註:我們能測試的應用程序包都在這個目錄下面
5、如以com.android.calculator2作為對象進行MonkeyTest
則命令行輸入:#monkey-p com.android.calculator2 -v 500
⑤ 如何跑android手機的monkey
需要PC有adb的程序 一般mokey腳本都是開發寫好了 如果你是白盒測試人員 可能需要自己寫monkey腳本 用adb把腳本push進去 然後可以執行:
在運行中輸入cmd,進入命令行,輸入adb shell monkey -p <包名> -c android.intent.category.LAUNCHER -s 100 --hprof --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --throttle 15 -v -v 1960 >c:\monkey_test.txt ,操作執行的log保存在c盤
注意:這只是monkey的執行log 如果開發需要其他log 還需要用adb抓
只是很簡單的流程…具體問題具體分析 希望你得了些幫助
⑥ monkey test的作用是什麼
Monkey測試是Android自動化測試的一種手段,Monkey測試本身非常簡單,就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,看設備多長時間會出異常。
⑦ 怎麼使用python 寫android monkey測試
Windows下(註:2—4步是為了查看我們可以測試哪些應用程序包,可省略):
1、 通過eclipse啟動一個Android的emulator
2、 在命令行中輸入:adb devices查看設備連接情況
C:Documents and SettingsAdministrator>adb devices
List of devices attached
emulator-5554 device
3、 在有設備連接的前提下,在命令行中輸入:adb shell 進入shell界面
C:Documents and SettingsAdministrator>adb shell
4、 查看data/data文件夾下的應用程序包。註:我們能測試的應用程序包都在這個目錄下面
C:Documents and SettingsAdministrator>adb shell
如:
com.android.htmlviewer
com.android.settings
com.android.netspeed
com.android.providers.userdictionary
com.android.browser
com.android.contacts
com.android.alarmclock
等
5.在其中找到我們需要測試的包名com.marshalchen.MonkeyTest1
6、 以com.marshalchen.MonkeyTest1 作為對象進行MonkeyTest
monkey -p com.marshalchen.MonkeyTest1 -v 500
其中-p表示對象包 –v 表示事件數量
運行過程中,Emulator中的應用程序在不斷地切換畫面。
按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件。
如:Sending Pointer ACTION_DOWN x=35.0 y=259.0
:Sending Pointer ACTION_UP x=195.0 y=259.0
:Sending Pointer ACTION_DOWN x=295.0 y=223.0
:Dropped: keys=0 pointers=0 trackballs=0 flips=0
等等信息。
四、Monkey停止的條件
Monkey Test執行過程中在下列三種情況下會自動停止:
1、如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。
2、如果應用程序崩潰或接收到任何失控異常,Monkey將停止並報錯。
3、如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止並報錯。
通過多次並且不同設定下的Monkey測試才算它是一個穩定性足夠的程序。
MonkeyRunner 使用
1
Monkey的使用簡潔有效,但是總是給人感覺功能不夠強大。所以,接下來向大家介紹非常給力的工具MonkeyRunner。
一、什麼是MonkeyRunner
monkeyrunner工具提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設備和模擬器。通過 monkeyrunner,您可以寫出一個Python程序去安裝一個Android應用程序或測試包,運行它,向它發送模擬擊鍵,截取它的用戶界面圖 片,並將截圖存儲於工作站上。monkeyrunner工具的主要設計目的是用於測試功能/框架水平上的應用程序和設備,或用於運行單元測試套件,但您當 然也可以將其用於其它目的。
monkeyrunner工具與monkey工具並無關聯。monkey工具直接運行在設備或模擬器的adbshell中,生成用戶或系統的偽隨機事件流。而monkeyrunner工具則是在工作站上通過API定義的特定命令和事件控制設備或模擬器。
monkeyrunner工具為Android測試提供了以下特性:
1.多設備控制:monkeyrunner API可以跨多個設備或模擬器實施測試套件。您可以在同一時間接上所有的設備或一次啟動全部模擬器(或統統一起),依據程序依次連接到每一個,然後運行一 個或多個測試。您也可以用程序啟動一個配置好的模擬器,運行一個或多個測試,然後關閉模擬器。
2.功能測試: monkeyrunner可以為一個應用自動貫徹一次功能測試。您提供按鍵或觸摸事件的輸入數值,然後觀察輸出結果的截屏。
3.回歸測試:monkeyrunner可以運行某個應用,並將其結果截屏與既定已知正確的結果截屏相比較,以此測試應用的穩定性。
4.可擴展的自動化:由於monkeyrunner是一個API工具包,您可以基於Python模塊和程序開發一整套系統,以此來控制Android設 備。除了使用monkeyrunner API之外,您還可以使用標準的Python os和subpress模塊來調用如adb這樣的Android工具。
您還可以向monkeyrunner API中添加您自己的類。
monkeyrunner工具使用Jython(使用Java編程語言的一種Python實現)。Jython允許monkeyrunnerAPI與Android框架輕松的進行交互。使用Jython,您可以使用Python語法來獲取API中的常量、類以及方法。
⑧ android性能測試工具有哪些
大概有如下幾個工具:
android針對上面這些會影響到應用性能的情況提供了一些列的工具:
1 布局復雜度:
hierarchyviewer:檢測布局復雜度,各視圖的布局耗時情況:
Android開發者模式—GPU過渡繪制:
2 耗電量:Android開發者模式中的電量統計;
3 內存:
應用運行時內存使用情況查看:Android Studio—Memory/CPU/GPU;
內存泄露檢測工具:DDMS—MAT;
4 網路:Android Studio—NetWork;
5 程序執行效率:
靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用於檢測代碼中潛在的問題、存在效率問題的代碼段並提供改善方案;
DDMS—TraceView,用於查找程序運行時具體耗時在哪;
StrictMode:用於查找程序運行時具體耗時在哪,需要集成到代碼中;
Andorid開發者模式—GPU呈現模式分析。
6 程序穩定性:monkey,通過monkey對程序在提交測試前做自測,可以檢測出明顯的導致程序不穩定的問題,執行monkey只需要一行命令,提交測試前跑一次可以避免應用剛提交就被打回的問題。
說明:
上面提到的這些工具可以進Android開發者官網性能工具介紹查看每個工具的介紹和使用說明;
Android開發者選項中有很多測試應用性能的工具,對應用性能的檢測非常有幫助,具體可以查看:All about your phone's developer options和15個必知的Android開發者選項對Android開發者選項中每一項的介紹;
針對Android應用性能的優化,Google官方提供了一系列的性能優化視頻教程,對應用性能優化具有非常好的指導作用,具體可以查看:優酷Google Developers或者Android Performance Patterns。
二 第三方性能優化工具介紹
除了android官方提供的一系列性能檢測工具,還有很多優秀的第三方性能檢測工具使用起來更方便,比如對內存泄露的檢測,使用leakcanry比MAT更人性化,能夠快速查到具體是哪存在內存泄露。
leakcanary:square/leakcanary · GitHub,通過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,並在頁面中顯示,在應用中集成leancanry後,程序運行時會存在卡頓的情況,這個是正常的,因為leancanry就是通過gc操作來檢測內存泄露的,gc會知道應用卡頓,說明文檔:LeakCanary 中文使用說明、LeakCanary: 讓內存泄露無所遁形。
GT:GT Home,GT是騰訊開發的一款APP的隨身調測平台,利用GT,可以對CPU、內存、流量、點亮、幀率/流暢度進行測試,還可以查看開發日誌、crash日誌、抓取網路數據包、APP內部參數調試、真機代碼耗時統計等等,需要說明的是,應用需要集成GT的sdk後,GT這個apk才能在應用運行時對各個性能進行檢測。
⑨ monkeytest是什麼意思
簡介monkey testing,
也有人叫做搞怪測試。
就是用一些稀奇古怪的操作方式去測試被測試系統,以測試系統的穩定性。monkey test,一般指這樣的測試活動,用毫無規律的指令或操作使用被測系統,觀察系統的穩定性和容錯性能。原理Monkey測試是Android自動化測試的一種手段,Monkey測試本身非常簡單,就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,看設備多長時間會出異常。 當Monkey程序在模擬器或設備運行的時候,如果用戶觸發了比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey用隨機重復的方法去負荷測試你開發的軟體.
⑩ 比較常見的兩種測試架構模式有哪些
1、Monkey (壓力測試)
Monkey是Android中的一個命令行工具,它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種測試軟體的穩定性、健壯性的快速有效的方法
Monkey特點:
1、 測試的對象僅為應用程序包,有一定的局限性。
2、 Monky測試使用的事件流數據流是隨機的,不能進行自定義。
3、 可對MonkeyTest的對象,事件數量,類型,頻率等進行設置。
4、如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。
5、如果應用程序崩潰或接收到任何失控異常,Monkey將停止並報錯。
6、如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止並報錯。
優點:
1、 操作簡單,無需編程。
2、 編寫批處理腳本就可以方便的對應用程序進行壓力測試。
缺點:事件是隨機的不能自定義
2、Monkeyrunner(功能測試,用戶接受度測試,黑盒測試)
monkeyrunner 是Android提供的工具可以幫助我們實現自動測試,它提供了一組 API 可以用來控制 Android 設備或模擬器。基於monkeyrunner提供的API編寫 Python 程序來安裝、運行 Android 應用或是測試包,發送按鍵、滑屏等消息,並可以截屏,然後保存在計算機中。monkeyrunner 主要目的是用來在應用程序或框架層次上測試應用程序或運行單元測試包。monkeyrunner工具是在工作站上通過API定義的特定命令和事件控制設備或模擬器。
Monkeyrunner特點:
1、MonkeyRunner則可以通過api編寫python腳本來產生特定命令和事件來控制設備和模擬器。
2、通過截屏對比是否是正常的運行。
3、多設備控制:monkeyrunnerAPI可以跨多個設備或模擬器實施測試套件。可以在同一時間接上所有的設備或一次啟動全部模擬器(或統統一起),依據程序依次連接到每一個,然後運行一個或多個測試。也可以用程序啟動一個配置好的模擬器,運行一個或多個測試,然後關閉模擬器。
4、 功能測試: monkeyrunner可以為一個應用自動貫徹一次功能測試。測試者提供按鍵或觸摸事件的輸入數值,然後觀察輸出結果的截屏。
5、 回歸測試:monkeyrunner可以運行某個應用,並將其結果截屏與既定已知正確的結果截屏相比較,以此測試應用的穩定性。
優點:
1、 編程語法相對簡單
2、 可以跨應用,比如打開某個應用是又開相機,然後再返回該應用
缺點:運行速度慢,容易出錯,可用的介面少