Monkey基本使用(转载)
什么是 Monkey
Monkey 是一個 Android 自動化測試小工具。主要用于Android 的壓力測試, 主要目的就是為了測試app 是否會Crash.
Monkey 特點
顧名思義,Monkey就是猴子, Monkey測試,就像一只猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什么都不懂, 只知道亂敲。通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發(fā)生異常。
Monkey程序介紹
Monkey 程序是由 Android 系統(tǒng)自帶,使用 Java 語言寫成。在Android文件系統(tǒng)中的存放路徑是: /system/framework/monkey.jar;
Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執(zhí)行,shell腳本在Android文件系統(tǒng)中 的存放路徑是:/system/bin/monkey;
Monkey 啟動方式:在 cmd 命令提示符里面輸入命令行來啟動 monkey 測試。
Monkey 架構(gòu)
Monkey 運行在設備或模擬器上面,可以脫離PC運行(普遍做法是將monkey作為一個像待測應用發(fā)送 隨機按鍵消息的測試工具。驗證待測應用在這些隨機性的輸入面前是否會閃退或者崩潰)
Monkey 參數(shù)大全
Monkey 命令基本參數(shù)介紹
1、允許啟動手機里面所有的 App , 隨機操作 1000 次
adb shell monkey 1000
2、-p : 允許啟動 App 的包名
- 啟動一個包名的應用
QQ 的包名為: com.tencent.mobileqq
adb shell monkey -p com.tencent.mobileqq 1000
隨機操作 手機 QQ 1000 次
- 啟動指定的多個 App
微信的包名為:com.tencent.mm
adb shell monkey -p com.tencent.mobileqq -p com.tencent.mm 1000
隨機操作 手機 QQ 和 微信 1000 次
3、-v : 操作日志記錄
命令行的每一個-v將增加反饋信息的級別。
- -v:Level 0(缺省值)除 啟動提示、測試完成和最終結(jié)果之外,提供較少信息。
- -v -v :Level 1提供較為詳細的測試信息,如逐個發(fā)送到Activity的 事件。
- -v -v -v :Level 2提供更加詳細的設置信息,如測試中被選中的或未被選中的Activity。
adb shell monkey -p com.tencent.mobileqq -v -v -v 100
4、-s : 偽隨機數(shù)生成器的seed值
如果用相同的seed值再次運行monkey,將生成相同的事件序列。
adb shell monkey -s 12345 -v 10
5、--ignore-crashes : 忽略操作是崩潰異常
通常,應用發(fā)生崩潰或異常時Monkey會停止運行。如果設置此項,Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計數(shù)完成。
adb shell monkey --ignore-crashes -v 1000
6、--ignore-timeouts : 忽略超時
通常,應用程序發(fā)生任何超時錯誤(如“Application Not responding”對話框)Monkey將停止運行,設置此項,Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計數(shù)完成。
adb shell monkey --ignore-timeouts -v 1000
7、--ignore-security-exceptions : 忽略程序發(fā)生許可異常
通常,當程序發(fā)生許可錯誤(例如啟動一些需要許可的Activity)導致的異常時,Monkey將停止運行。設置此項,Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計數(shù)完成。
adb shell monkey --ignore-security-exceptions -v 1000
8、--throttle : 插入固定延遲
在事件之間插入固定延遲。通過這個選項可以減緩Monkey的執(zhí)行速度。如果不指定該選項,Monkey將不會被延遲,事件將盡可能快地被執(zhí)行。
adb shell monkey --throttle 500 -v 500
隨機執(zhí)行 500 個事件,每個事件之間延遲 500 毫秒被執(zhí)行。
9、----pcdt-touch:修改點擊的概率
其他相應事件:
0:--pct-touch 調(diào)整touch事件的比例
1:--pct-motion 調(diào)整移動事件的比例
2:--pct-pinchzoom 二指縮放百分比,即智能機上的放大縮小手勢操作
3:--pct-trackball 軌跡球事件百分比(軌跡球事件包括一個或多個隨機移動,有時還伴有點擊。軌跡球現(xiàn)在智能手機上已經(jīng)沒有了,就是類似手柄的方向鍵一樣)
4:--pct-rotation 屏幕旋轉(zhuǎn)百分比,橫屏豎屏
5:--pct-nav ”基本”導航事件百分比(導航事件包括上下左右,如方向輸入設備的輸入)老手機的上下左右鍵,智能機上沒有
6:--pct-majornav ”主要”導航事件百分比(這些導航事件通常會引發(fā)UI的事件,例如5-way pad的中間鍵、回退鍵、菜單鍵)
7:--pct-syskeys ”系統(tǒng)”按鈕事件百分比(這些按鈕一般專供系統(tǒng)使用,如Home, Back, Start Call, End Call,音量控制)
8:--pct-appswitch 啟動activity事件百分比。在隨機的間隔里,Monkey會執(zhí)行一個startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法
9:--pct-flip 鍵盤輕彈百分比,如點擊輸入框,鍵盤彈起,點擊輸入框以外區(qū)域,鍵盤收回
10:--pct-anyevent其他類型事件百分比。包括了其他所有的類型事件,如按鍵、其他不常用的設備上的按鈕等等。
?
使用方法:
adb shell monkey <事件> <百分比,例如60代表60%>
例如:adb shell monkey --pcdt-touch 60
10、--help : 列出簡單的用法
adb shell monkey -help
?
綜合使用并生成日志:Adb shell monkey -s 12345 -p?<包名> -v -v -v? --ignore-crashes --pcdt-touch 60? --ignore-timeouts --throttle 300 100 >d:\pakage_0303.txt
參考:
https://www.cnblogs.com/songzhenhua/p/9312810.html
https://www.cnblogs.com/zhaoyanjun/p/6861278.html
轉(zhuǎn)載于:https://www.cnblogs.com/wuyufeng-9-14/p/10736038.html
總結(jié)
以上是生活随笔為你收集整理的Monkey基本使用(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS多根adsl叠加负载均衡PCC的做
- 下一篇: 星期五作业