自己用的命令還不清楚意思效览,準(zhǔn)備學(xué)習(xí)
adb -s xxx.xxx.xx.xxx:5555 shell monkey -p net.ishandian.app.shophd -v -v -v 100000 -s 1000 --ignore-security-exceptions --pct-motion 10 --pct-trackball 20 --pct-nav 10 --pct-majornav 10 --pct-appswitch 10 --pct-anyevent 40 --throttle 500 >/Users/shandian/MokeyTest/log.txt
學(xué)習(xí)自簡書MR_Hanjc
學(xué)習(xí)自簡書Art_Collector
monkey參數(shù)介紹
-help 查看monkey的幫助信息
例:adb shell monkey -help
-p 指定被測(cè)應(yīng)用的包名
例:adb shell monkey -p com.UCMobile.x86 100
如果想要指定多個(gè)包名,每一個(gè)包名要跟一個(gè)-p
例:adb shell monkey -p packageName1 -p packageName2 100
COUNT 設(shè)置執(zhí)行的次數(shù)
例:adb shell monkey 100
-s 設(shè)置種子數(shù)(相當(dāng)于設(shè)置一個(gè)路徑荠藤,因?yàn)閙onkey是
隨機(jī)事件联予,所以為了使回歸路徑一致就需要設(shè)置相同的seed值)
例:adb shell monkey 100 -s 5
如果想重現(xiàn)上面例子的路徑下次執(zhí)行的-s也必須為5--throttle 設(shè)置每次隨機(jī)事件的時(shí)間間隔(單位:毫秒)
例:adb shell monkey 100 --throttle 500
--throttle time --randomize-throttle 設(shè)置隨機(jī)時(shí)間的時(shí)間間隔區(qū)間
例:adb shell monkey 100 --throttle 500 --randomize-throttle
說明:執(zhí)行一百次monkey隨機(jī)事件辑甜,每次事件的間隔在0到500毫秒之間不固定-v 設(shè)置日志級(jí)別最多(默認(rèn)一個(gè)-v)
命令行的每一個(gè)-v將增加反饋信息的級(jí)別。
-v:Level 0(缺省值)除 啟動(dòng)提示凝赛、測(cè)試完成和最終結(jié)果之外注暗,提供較 少信息坛缕。
-v -v :Level 1提供較為詳細(xì)的測(cè)試信息,如逐個(gè)發(fā)送到Activity的 事件捆昏。
-v -v -v :Level 2提供更加詳細(xì)的設(shè)置信息赚楚,如測(cè)試中被選中的或未被選中的Activity。
例:adb shell monkey -v 100
如需更詳細(xì)的日志可以加多個(gè)-v,最多3個(gè)
例:adb shell monkey -v -v -v 100
--ignore-security-exceptions : 忽略程序發(fā)生許可異常
通常骗卜,當(dāng)程序發(fā)生許可錯(cuò)誤(例如啟動(dòng)一些需要許可的Activity)導(dǎo)致的異常時(shí)直晨,Monkey將停止運(yùn)行。設(shè)置此項(xiàng)膨俐,Monkey將繼續(xù)發(fā)送事件給系統(tǒng)勇皇,直到事件計(jì)數(shù)完成。
adb shell monkey --ignore-security-exceptions -v 1000
--ignore-crashes 運(yùn)行中忽略crash焚刺,遇到crash依然把后面的事件跑完
例:adb shell monkey --ignore-crashes -v 100
--ignore-timeouts 運(yùn)行中忽略ANR,遇到ANR依然把后面的事件跑完
例:adb shell monkey --ignore-timeouts -v 100
設(shè)置事件百分比,所有的百分比加起來不能超過100%
0:觸摸事件百分比敛摘,即參數(shù)--pct-touch
1:滑動(dòng)事件百分比,即參數(shù)--pct-motion
2:縮放事件乳愉,即參數(shù)--pct-pinchzoom
3:軌跡球事件百分比兄淫,即參數(shù)--pct-trackball
4:屏幕旋轉(zhuǎn)事件百分比,即參數(shù)--pct-rotation
5:基本導(dǎo)航事件百分比蔓姚,即參數(shù)--pct-nav
6:主要導(dǎo)航事件百分比捕虽,即參數(shù)--pct-majornav
7:系統(tǒng)事件百分比,即參數(shù)--pct-syskeys
8:Activity啟動(dòng)事件百分比坡脐,即參數(shù)--pct-appswitch
9:鍵盤翻轉(zhuǎn)事件百分比泄私,即參數(shù)--pct-flip
10:其他事件百分比,即參數(shù)--pct-anyevent
例:adb shell monkey --pct-touch 20 -v 100--ignore-native-crashes 忽略monkey本身的異常备闲,直到事件執(zhí)行完畢
例:adb shell monkey --ignore-native-crashes -v 100
monkey日志分析
1.Monkey: seed=1470511671524 count=100
monkey執(zhí)行的seed值和隨機(jī)事件次數(shù)
2.AllowPackage: com.UCMobile.x86
可以運(yùn)行的包名
3.// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
分配事件的百分比晌端,事件號(hào)可以參考第二部分
4.事件0:觸摸事件
Sending Touch (ACTION_DOWN): 0:(572.0,1105.0)
Sending Touch (ACTION_UP): 0:(576.20734,1105.024)
5.事件1:滑動(dòng)事件
Sending Touch (ACTION_DOWN): 0:(233.0,761.0)
Sending Touch (ACTION_MOVE): 0:(208.49568,736.34766)
Sending Touch (ACTION_MOVE): 0:(202.7063,729.8338)
Sending Touch (ACTION_MOVE): 0:(183.89723,722.677)
Sending Touch (ACTION_UP): 0:(174.83568,721.8229)
6.事件2:縮放事件
Sending Touch (ACTION_DOWN): 0:(107.0,242.0)
Sending Touch (ACTION_POINTER_DOWN 1): 0:(108.14705,248.53061) 1:(270.0,262.0)
Sending Touch (ACTION_MOVE): 0:(110.117355,252.96329) 1:(267.9937,262.25485)
Sending Touch (ACTION_MOVE): 0:(111.30056,261.88846) 1:(261.90106,262.58475)
Sending Touch (ACTION_MOVE): 0:(113.11743,265.60138) 1:(253.92662,263.13382)
Sending Touch (ACTION_POINTER_UP 1): 0:(113.29031,267.4419) 1:(248.60628,263.23257)
7.事件3:軌跡球事件
Sending Trackball (ACTION_MOVE): 0:(3.0,-2.0)
Sending Trackball (ACTION_MOVE): 0:(1.0,-1.0)
8.事件4:屏幕旋轉(zhuǎn)事件(隱藏事件)
Sending rotation degree=0,persist=true
9.事件5:導(dǎo)航事件(上下左右)
Sending Key (ACTION_DOWN): 21 // KEYCODE_DPAD_LEF
10.事件6:主要導(dǎo)航事件(menu等)
Sending Key (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
11.事件7:系統(tǒng)按鍵事件(音量,home,返回按鍵等)
Sending Key (ACTION_UP): 25 // KEYCODE_VOLUME_DOWN
12.事件8:啟動(dòng)應(yīng)用事件
Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.UCMobile.x86/com.UCMobile.main.UCMobile;end
13.事件9:鍵盤事件(隱藏顯示鍵盤)
Sending Flip keyboardOpen=true
14.事件10:其他按鍵
Sending Key (ACTION_DOWN): 66 // KEYCODE_ENTER
Sending Key (ACTION_UP): 66 // KEYCODE_ENTER
15.延時(shí)
Sleeping for 300 milliseconds