前言:
很久之前,就聽說了monkey;但是monkey是干什么用;如何使用;我們還是帶着最簡單的問題開始學習吧;
ps:我的博文格式變化了,閱讀了很多博文,發現這個樣式閱讀起來很有條理,我也參考一下下。。呵呵--
【目錄】
一:Monkey簡介
說:monkey是一只調皮的猴子,在app中亂按、亂摸、亂跳;
模擬用戶觸摸屏幕、滑動軌跡球、按鍵等操作;對模擬器或者手機上的軟件進行壓力測試;
檢測軟件的穩定性、健壯性;
原理:向系統發送偽隨機的用戶事件流(按鍵輸入、觸摸輸入、手勢輸入),對測試軟件進行壓力測試;
二:Monkey的特性
(1)測試的對象僅為應用程序包(apk包,)有一定的局限性;
(2)Monkey測試使用的事件流、數據流是隨機的,不能進行自定義;
(3)可以對MonkeyTest的對象、事件數量、類型、頻率等進行設置;
雖然Monkey工具並不完善,但是足以應付應用程序的基本測試需要了;如果需要功能更強大的測試工具的話,使用Monkey的進化版本MonkeyRunner;
三:Monkey的基本命令參數說明
Monkey包括許多選項,大致分為四大類
1:基本選項
-help 打印幫助文檔
-v :指定打印信息的詳細級別;一個-v增加一個級別。
-v :Level 0,缺省值,僅提供啟動提示,測試完成和最終結果等少量信息
-v -v :Level 1,提供較為詳細的日志,包括每個發送到的Activity的事件信息
-v -v -v:Level 2,最詳細的日志,包括了測試中選中/未選中的Activity信息
2:事件選項
-s :偽隨機數生成器的seed值。如果用相同的seed值再次運行Monkey,它將生成相同的事件序列;
等等。。。
3:約束選項
-p:指定一個或者多個包 (指定多個包,使用多個-p,每個-p選項只能用於一個包)
-c:指定一個或多個類別()
4:調試選項
--ignore-crashes:通常,當應用程序崩潰或者發生任何異常時,Monkey將停止運行。如果設置此選項,Monkey將繼續向系統發生事件,直到計數完成
--ignore-timeouts:通常,當應用程序發生任何超時錯誤(如“Application Not Responding”對話框)時,Monkey將停止運行。如果設置此選項,Monkey將繼續向系統發生事件,直到計數完成
等等。。
四:Monkey使用實例
(1)指定一個包:adb shell monkey -p package 1000
(2)seed值:adb shell monkey -p package -s 10 1000
(3)日志級別:adb shell monkey -p package -v -v 1000
操作:
1:下載一個apk文件,可以在豌豆莢下載;
2:使用adb命令安裝下載的apk文件(abd install + apk文件)
3:執行monkey命令(這里我用的是其它的app)
打印的日志太長,可以重定向到文件中;
日志文件如下:
本文學習的博文地址:
http://www.cnblogs.com/findyou/p/3940671.html#Mon03
http://blog.csdn.net/lfyx1357/article/details/7418133