話不多說桌吃,直接寫步驟:
首先,電腦上需要配置有sdk環(huán)境變量和python環(huán)境變量
自行百度環(huán)境變量配置方法
python 下載地址:
https://www.python.org
在手機上裝上要測得應(yīng)用
打開開發(fā)者選項中的調(diào)試模式
鏈接電腦
cmd打開命令行窗口
輸入 python查看python環(huán)境變量是否配置成功
輸入 adb devices 查看當前鏈接的設(shè)備
所有指令都有正確回應(yīng)的時候說明環(huán)境變量配置成功站超,就可以接下來的壓力測試了
在命令行窗口輸入
adb shell monkey 1000
這個就表示模擬手機1000次隨機操作:
比如說 滑動屏幕,隨機點擊屏幕某個坐標奠蹬,音量鍵菇曲,截圖 ====
但是如果按照這個操作一遍就會發(fā)現(xiàn)沉馆,沒有指定某個應(yīng)用奥氲场!
對的斥黑。揖盘。。
確實沒有锌奴。兽狭。。
接下來就指定某個應(yīng)用
首先我們要獲取手機上的應(yīng)用的包名
還是命令行輸入
adb logcat | grep START
意思就是說,將還有START標簽的應(yīng)用通過logcat打印出來
比如說我要測試一個手機自帶的鬧鐘程序:
點開手機上的鬧鐘app
輸入 adb logcat | grep START
下圖為窗口打印的log日志
你現(xiàn)在手機的顯示界面就是鬧鐘app的首頁箕慧,
其中cmp后面跟著的就是鬧鐘這個應(yīng)用的包名
從后面也可以看出來我用的是魅族手機服球。
嘿嘿嘿~~~~
獲取到了想測試的應(yīng)用的包名之后就可以給指定應(yīng)用做壓力測試了:
命令行輸入
adb shell monkey -p 應(yīng)用包名 測試的事件數(shù)
我這里就輸入
adb shell monkey -p com.android.alarmclock 1000
上圖為壓力測試結(jié)果,可以看到颠焦,我的測試事件是1000個斩熊,injected顯示的結(jié)果也是執(zhí)行了1000次測試,說明伐庭,每一次都通過了沒有問題
再來一個出問題的情況
可以看到粉渠,如果說出了問題,也會打出來具體的錯誤log圾另,比較方便
如果說你想在每個事件中間加點兒間隔時間的話可以用這個指令
adb shell monkey --throttle<毫秒數(shù)>
monkey壓力測試還有一個非常有用的功能
因為霸株,每次壓力測試,測試的所有事件都是隨機產(chǎn)生的集乔,如果遇到問題的話去件,怎么能讓問題重現(xiàn)呢?
這時候就用到了
adb shell monkey -p 應(yīng)用包名 -s 自定義數(shù)字 事件數(shù)
這句代碼的意思就是說把(事件數(shù))個隨機事件裝進一個隊列中饺著,這個隊列的編號就是你自己定義的那個數(shù)字編號箫攀,如果出了問題你想重現(xiàn)的話,指定同樣編號的隨機事件隊列就可以了
舉例:
第一次壓力測試的時候
adb shell monkey -p 應(yīng)用包名 -s 120 1000
執(zhí)行編號為120的1000次隨機事件測試
這時候你發(fā)現(xiàn)出了問題了幼衰,想重現(xiàn)
同樣再執(zhí)行一遍這組隨機事件就行了
adb shell monkey -p 應(yīng)用包名 -s 120 1000
如果你不想進行什么其他的沒用的操作靴跛,比如說截屏,音量大小渡嚣,只是想測試觸摸點擊事件的話梢睛,也可以做到
adb shell monkey --pct-touch 事件所占百分比
還是以鬧鐘為例:
adb shell monkey -p com.android.alarmclock --pct-touch 100 1000
表示100%執(zhí)行觸摸點擊測試1000次隨機事件
你也可以將測試的事件打印出來
adb shell monkey -v -p com.android.alarmclock --pct-touch 100 1000
-v表示將測試的事件打印出來
在最頂端可以看到事件的百分比
事件也都為touch點擊事件
如果在測試期間,應(yīng)用crash了识椰,測試默認會停止
可以使用
--ignore-crashes
它會使測試在遇到crash的情況是绝葡,不自動停止,而是繼續(xù)執(zhí)行完指定數(shù)目的測試腹鹉,不過還是會照常打印log
同樣藏畅,如果應(yīng)用中主線程執(zhí)行了耗時操作是,會遇到ANR異常功咒,monkey也會默認終止測試愉阎,這是可以用
--ignore-timeouts
來打印錯誤的同時,繼續(xù)執(zhí)行完測試
寫到這里發(fā)現(xiàn)了阿標的博客:關(guān)于制定測試事件寫的比較詳細力奋,直接copy過來榜旦,嘿嘿嘿~~~~
參數(shù): --pct-{+事件類別}{+事件類別百分比}
用于指定每種類別事件的數(shù)目百分比(在Monkey事件序列中,該類事件數(shù)目占總事件數(shù)目的百分比)
--pct-touch {+百分比}
調(diào)整觸摸事件的百分比(觸摸事件是一個down-up事件景殷,它發(fā)生在屏幕上的某單一位置)
--pct-motion {+百分比}
調(diào)整動作事件的百分比(動作事件由屏幕上某處的一個down事件溅呢、一系列的偽隨機事件和一個up事件組成)adb shell monkey -p
--pct-trackball {+百分比}
調(diào)整軌跡事件的百分比(軌跡事件由一個或幾個隨機的移動組成澡屡,有時還伴隨有點擊)
--pct-nav {+百分比}
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來自方向輸入設(shè)備的up/down/left/right組成)
--pct-majornav {+百分比}
調(diào)整“主要”導(dǎo)航事件的百分比(這些導(dǎo)航事件通常引發(fā)圖形界面中的動作,如:5-way鍵盤的中間按鍵咐旧、回退按鍵驶鹉、菜單按鍵)
--pct-syskeys {+百分比}
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用铣墨,如Home梁厉、Back、Start Call踏兜、End Call及音量控制鍵)
--pct-appswitch {+百分比}
調(diào)整啟動Activity的百分比词顾。在隨機間隔里,Monkey將執(zhí)行一個startActivity()調(diào)用碱妆,作為最大程度覆蓋包中全部Activity的一種方法
--pct-anyevent {+百分比}
調(diào)整其它類型事件的百分比肉盹。它包羅了所有其它類型的事件,如:按鍵疹尾、其它不常用的設(shè)備按鈕上忍、等等
--pct -anyevent 100 1000* 指定多個類型事件的百分比:
注意:各事件類型的百分比總數(shù)不能超過100%;
重復(fù)指定操作測試
利用monkey scipt腳本纳本。窍蓝。。繁成。后面在寫吧吓笙。。巾腕。面睛。╮(╯▽╰)╭