android monkey使用教程

adb版本 :1.0.36
安卓系統(tǒng)版本:6.0

第一部分:配置adb環(huán)境

1.下載android的sdk,解壓至任意根目錄
2.配置環(huán)境變量

環(huán)境變量配置鏈接

3.因?yàn)楸粶y(cè)的安卓系統(tǒng)版本是6.0,需要adb的版本最少是1.0.32,所以需要升級(jí)一下adb的版本
首先需要先查看一下adb的版本信息
4.配置jdk的環(huán)境變量

配置jdk的環(huán)境變量鏈接

5.雖然這個(gè)版本已經(jīng)能夠識(shí)別到6.0但是還是升級(jí)一下吧
5.1配置sdk升級(jí)代理

sdk設(shè)置代理方法鏈接

5.2升級(jí)tools與platform-tools即可
5.3再次查看adb的版本,為最新的1.0.36
6.連接手機(jī),有了手機(jī)的串號(hào)說(shuō)明連接成功(如果連接失敗,自行百度吧)
7.查看手機(jī)內(nèi)所有的包名
  adb shell pm list packages
8.查看當(dāng)前應(yīng)用的包名
  adb shell "dumpsys window |grep mCurrent"

第二部分:monkey參數(shù)介紹

1.-help   查看monkey的幫助信息
  例:adb shell monkey -help        
2.-p   指定被測(cè)應(yīng)用的包名 
  例:adb shell monkey -p com.UCMobile.x86 100
  如果想要指定多個(gè)包名,每一個(gè)包名要跟一個(gè)-p
  例:adb shell monkey -p packageName1 -p packageName2 100
  
3.  COUNT  設(shè)置執(zhí)行的次數(shù)
  例:adb shell monkey 100
  
4.-s 設(shè)置種子數(shù)(相當(dāng)于設(shè)置一個(gè)路徑,因?yàn)閙onkey是
  隨機(jī)事件,所以為了使回歸路徑一致就需要設(shè)置相同的seed值)
  例:adb shell monkey 100 -s 5
  如果想重現(xiàn)上面例子的路徑下次執(zhí)行的-s也必須為5

5.--throttle 設(shè)置每次隨機(jī)事件的時(shí)間間隔(單位:毫秒)
  例:adb shell monkey 100 --throttle 500

6.--throttle time --randomize-throttle 設(shè)置隨機(jī)時(shí)間的時(shí)間間隔區(qū)間
  例:adb shell monkey 100 --throttle 500 --randomize-throttle 
  說(shuō)明:執(zhí)行一百次monkey隨機(jī)事件,每次事件的間隔在0到500毫秒之間不固定

7.-v 設(shè)置日志級(jí)別最多(默認(rèn)一個(gè)-v)
  例:adb shell monkey -v 100
  如需更詳細(xì)的日志可以加多個(gè)-v,最多3個(gè)
  例:adb shell monkey -v -v -v 100

8.--ignore-crashes   運(yùn)行中忽略crash,遇到crash依然把后面的事件跑完
  例:adb shell monkey --ignore-crashes -v 100

9.--ignore-timeouts  運(yùn)行中忽略ANR,遇到ANR依然把后面的事件跑完
例:adb shell monkey --ignore-timeouts -v 100

10.設(shè)置事件百分比,所有的百分比加起來(lái)不能超過(guò)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

11.--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:?jiǎn)?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
最后編輯于
?著作權(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)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,347評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • 旅行的終點(diǎn)在哪不重要,重要的是沿途中遇到的人與事。 貌似這是我第一次交作業(yè),該寫點(diǎn)什么呢? 人生會(huì)走過(guò)很多...
    Ani_愛(ài)笑閱讀 504評(píng)論 0 0
  • 昨天胡思亂想,差點(diǎn)就有點(diǎn)沖動(dòng)要停止日更了。但是,在翻之前文章的時(shí)候,無(wú)意看到了有一篇的文章有人打賞了,我就開(kāi)始思考...
    Echo可可閱讀 201評(píng)論 0 0
  • 我特別想離開(kāi)這里 不要挽留我 這里讓我窒息 到處都是你的身影 到處充滿你的味道 讓我怎么呼吸 既然無(wú)法在一起 就讓...
    cae17f57a2ed閱讀 341評(píng)論 0 1

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