monkey

monkey特點(diǎn)
1.monkey用來(lái)做Android系統(tǒng)的壓力測(cè)試
2.monkey是Android自帶的工具
3.monkey可以直接通過adb命令直接調(diào)用
4.monkey可以同時(shí)測(cè)試多個(gè)APP
5.monkey可以定義每次測(cè)試的順序
6.monkey可以設(shè)置測(cè)試的日志級(jí)別
7.monkey日志分析測(cè)試結(jié)果
8.monkey可設(shè)置時(shí)間操作的百分比
9.monkey可以設(shè)置異常繼續(xù)操作

monkey的環(huán)境搭建
1.monkey是Android自帶的工具
2.Android內(nèi)核是Linux的
3.Android的操作,adb命令和Linux操作系統(tǒng)的命令一樣
4.Android開發(fā)語(yǔ)言:Java

JDK環(huán)境搭建
① 安裝:jdk-8u121-windows-x64.exe
② 配置環(huán)境變量:path:C:\Program Files\Java\jdk1.8.0_121\bin;JAVA_HOME:C:\Program Files\Java\jdk1.8.0_121\bin;CLASSPATH:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
③ 驗(yàn)證Java是否安裝成功:命令行輸入java、javac、java -version

① 解壓android-sdk-windows.rar
② 配置環(huán)境變量:
path:G:\installation-package\android\android-sdk-windows\platform-tools;G:\installation-package\android\android-sdk-windows\tools
Android_home:G:\installation-package\android\android-sdk-windows
③ 命令行輸入adb,驗(yàn)證sdb是否安裝成功

Android特性
1.Java語(yǔ)言開發(fā)
2.Android是一個(gè)移動(dòng)操作系統(tǒng),系統(tǒng)是Linux內(nèi)核系統(tǒng)

SDK Manager.exe:創(chuàng)建和管理Android版本

AVD Manager.ext:創(chuàng)建和管理模擬器

adb命令
1.adb shell:進(jìn)入設(shè)備的shell

2.adb devices:查找連接的設(shè)備

3.adb kill-server:關(guān)閉adb服務(wù)
4.adb start-server:?jiǎn)?dòng)adb服務(wù)
5.adb -s 設(shè)備名稱 shell:進(jìn)入制定的設(shè)備

6.exit:退出設(shè)備的shell


7.只有對(duì)sdcard有讀寫權(quán)限,其它的文件都只有讀的權(quán)限
8.adb shell touch /sdcard/test.txt:新建文件

9.adb shell rm -rf /sdcard/test.txt:刪除文件
10.pwd:查看當(dāng)前的路徑


11.adb push 本地路徑 /sdcard/:文件上傳

12.adb shell mkdir /sdcard/test:新建文件夾

13.adb pull /sdcard/test.txt e:\test:下載文件

14.adb install 路徑:安裝apk
apk安裝路徑是在/data/app

15.adb uninstall 包名:卸載apk

16.exit:退出shell

mac地址,每一臺(tái)電腦都是唯一的
每一個(gè)APP都有一個(gè)唯一的包名,可以通過包名來(lái)找到我們想要的APP,并進(jìn)行操作,如果我們要卸載一個(gè)APP,那么就可以通過包名去卸載

查看包名的方式
cd /data/data目錄下就可以找到手機(jī)所有的包名,可以找到最新那個(gè)包名,就是剛剛安裝的那個(gè)軟件的包名
adb shell pm list package -f來(lái)查看所有的包名,通過data查看,只能看到包名,通過adb shell pm list package -f查看,就會(huì)把a(bǔ)pk的安裝路徑,與包名相對(duì)應(yīng)。系統(tǒng)自帶的APP都安裝在/system/app目錄,而我們自主開發(fā)的APP,一般都安裝在data/app目錄中
adb shell dumpsys activity>e:\test\test.log把手機(jī)所有的包名都保存到本地,然后通過安裝前后兩次的所有包名進(jìn)行對(duì)比,得出我們剛剛安裝的APP的包名

Android命令
android list targets,查看當(dāng)前Android已安裝的版本,和SDK Manager.ext上的版本一致


從上面的命令可以看出,有些是adb pull,并沒有帶shell,有些是帶了shell的,這能說(shuō)明,代理shell的,可以直接用adb shell,進(jìn)入到shell里面,然后再執(zhí)行命令也可以成功的。如果沒有帶shell的,如:adb install,這樣的命令只能在DOS命令行下運(yùn)行

monkey命令
1.adb shell monkey:?jiǎn)?dòng)monkey,如果帶shell的,可以到shell里面去運(yùn)行,也可以再DOS下運(yùn)行
2.-p:定義包名,后面緊跟著就是被測(cè)試APP的包名,再monkey里面,定位APP使用包名
例:adb shell monkey -p 包名
3.monkey正常運(yùn)行必備的參數(shù)
-p 引用包 執(zhí)行次數(shù)
adb shell monkey -p com.tencent.mm 10
4.日志級(jí)別
-v:打印出開啟和結(jié)束的日志
-v -v:打印每個(gè)執(zhí)行的activity的開始和結(jié)束的日志,一般詳細(xì)的日志
-v -v -v:打印出所有的activity的日志,很詳細(xì)的日志
5.monkey測(cè)試多個(gè)APP
adb shell monkey -p 包名1 -p 包名2 100


6.seed值:用來(lái)記錄每次操作的順序
每次測(cè)試的時(shí)候,seed值都是不斷變化的

-s seed值:自己定義seed值

7.--throttle<毫秒>在事件之間插入固定延遲。(休眠)

monkey除了操作APP本身的功能之外,還操作手機(jī)自帶的按鍵
8.--pct-touch:點(diǎn)擊事件
9.--pct-rotation:翻屏事件
10.--pct-motion:劃屏事件
11.--pct-syskeys:硬件事件(home鍵、音量調(diào)節(jié),打電話、切圖)
12.--pct-appswitch:?jiǎn)?dòng)activity的百分比
13.--pct-flip:鍵盤事件的百分比
14.--pct-pinchzoom:縮放
總的事件百分比是100%,不能大于100%,如果總時(shí)間不是大于100%,其它的部分就會(huì)隨機(jī)分配

參數(shù)
adb shell monkey -p com.tencent.mm --pct-touch 10 --pct-motion 0 --ignore-crashes --ignore-timeouts --ignore- security- exceptions --kill-process- after-error --pct-rotation 50 --pct-appswitch 0 --pct-syskeys 0 --pct-anyevent 0 --pct-flip 10 --pct-pinchzoom 0 -v -v -v 10000

日志分析
anr:程序崩潰
exception :異常,null空指針
error:程序錯(cuò)誤
crash:程序閃退

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容