Monkey命令介绍

Monkey介绍

  Monkey 是 Android SDK提供的一个命令行工具,可运行在任何版本的Android模拟器和实体设备上。实际应用中,经常用来做APP的稳定性测试和压力测试,用随机重复的方法负荷测试开发的软件。

Monkey帮助文档

>adb shell monkey -help
  bash arg: -help
args: [-help]
 arg: "-help"
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--match-description TEXT]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
              [--pct-permission PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              [--permission-target-system]
              COUNT
命令行中adb shell monkey -help结果

Moneky常用参数介绍

//基本参数
[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]  //单包或多包,省略则所有包执行。(注,并不是手机里所有的包都可以测试)
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]  //不常用。指定系统启动的类别;不指定,则调用Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_MONKEY两个类别的Activity
[-s SEED]   //指定伪随机说生成器的seed值。seed相同,则两次执行的monkey测试产生的事件序列相同
[-v [-v] ...] //指定反馈信息级别,即日志的详细程度,分3级,-v , -v -v, -v -v -v。级别依次增大。一般选择-v -v -v
//-v:缺省值,仅提供启动提示,测试完成和最终结果等少量信息。
//-v -v:提供较为详细的日志,包括每个发送到的Activity的事件信息
//-v -v -v:(最详细日志,包括测试中选中和未选中的Activity。)。
[--throttle MILLISEC] //事件时延,单位毫秒,一般设置为300毫秒,实际用户最快300毫秒左右一个动作事件。若不指定,monkey执行的会很快。特别注意,看一下文末的参考资料‘2’,中所说的问题。 COUNT //操作数//调试参数 [--ignore-crashes] //常用。app发生崩溃或异常时,monkey继续执行 [--ignore-timeouts] //常用。APP出现ANR(Application Not Responding)时,monkey命令继续 [--ignore-security-exceptions] //常用。发生许可错误时,monkey继续执行。 [--monitor-native-crashes] //监视并报告本地代码的崩溃。若设置--kill....,系统停运 [--ignore-native-crashes] //出现本地崩溃或异常时,monkey仍运行 [--kill-process-after-error] // 若APP发生错误,则通知系统停止出错的进程。若成功执行monkey,则不停止启动的进程。 //事件参数(部分) 注:PERCENT为1-100数字,所有参数总和不能大于100 [--pct-touch PERCENT] //触摸,一个down-up事件, [--pct-motion PERCENT] //动作,一个down,一系列伪随机移动,一个up事件组成 [--pct-trackball PERCENT] //滚动球,一个或多个随机的motion事件,有时会伴随点击事件。 [--pct-syskeys PERCENT] //系统事件,Home,Back,Start Call,End Call,音量调节。 [--pct-nav PERCENT] //基本导航,方向输入设备的上下左右键 [--pct-majornav PERCENT] //主要导航事件,通常会导致UI界面的动作事件,如5-way键盘的中间键,回车键,菜单键 [--pct-appswitch PERCENT] //Activity的启动 [--pct-anyevent PERCENT] //其他事件,如按键,其他在设备上不常用的按钮 [--pct-permission PERCENT]

Monkey其他参数列表

//剩余参数
[--hprof]  //在事件序列前后,立即生成profilfing report
[--match-description TEXT]
[--pct-flip PERCENT]  
[--pct-pinchzoom PERCENT]  //缩放(捏)事件
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg]   //暂停执行中的monkey,直到有调试器与它连接
[--dbg-no-events]  //监视应用程序所调用的包之间的转换
[--setup scriptfile] 
[-f scriptfile [-f scriptfile] ...]
[--port port]
[--randomize-throttle]
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
[--permission-target-system]
monkey剩余参数列表
Monkey实例
adb shell monkey -p com.android.contacts -p com.android.settings -s 1 --throttle 1000  -v -v -v 500  --ignore-crashes --ignore-timeouts --ignore-native-crashes --monitor-native-crashes --ignore-native-crashes >E:\Monnkey.txt

结果:

命令行窗口显示如下图:

E盘下的Monkey.txt显示如下

E盘的结果
  bash arg: -p
  bash arg: com.android.contacts
  bash arg: -p
  bash arg: com.android.settings
  bash arg: -s
  bash arg: 1
  bash arg: --throttle
  bash arg: 1000
  bash arg: -v
  bash arg: -v
  bash arg: -v
  bash arg: 500
  bash arg: --ignore-crashes
  bash arg: --ignore-timeouts
  bash arg: --ignore-native-crashes
  bash arg: --monitor-native-crashes
  bash arg: --ignore-native-crashes
:Monkey: seed=1 count=500
:AllowPackage: com.android.contacts
:AllowPackage: com.android.settings
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Selecting main activities from category android.intent.category.LAUNCHER
//   - NOT USING main activity com.android.camera.CameraLauncher (from package com.android.camera2)
//   - NOT USING main activity com.google.android.apps.chrome.Main (from package com.android.chrome)
//   + Using main activity com.android.contacts.activities.PeopleActivity (from package com.android.contacts)
//   + Using main activity com.android.settings.Settings (from package com.android.settings)
//   - NOT USING main activity com.android.vending.AssetBrowserActivity (from package com.android.vending)
//   - NOT USING main activity com.google.android.apps.docs.app.NewMainProxyActivity (from package com.google.android.apps.docs)
//   - NOT USING main activity com.google.android.maps.MapsActivity (from package com.google.android.apps.maps)
//   - NOT USING main activity com.google.android.apps.messaging.ui.ConversationListActivity (from package com.google.android.apps.messaging)
//   - NOT USING main activity com.google.android.apps.photos.home.HomeActivity (from package com.google.android.apps.photos)
//   - NOT USING main activity com.android.calendar.AllInOneActivity (from package com.google.android.calendar)
//   - NOT USING main activity com.android.deskclock.DeskClock (from package com.google.android.deskclock)
//   - NOT USING main activity com.google.android.dialer.extensions.GoogleDialtactsActivity (from package com.google.android.dialer)
//   - NOT USING main activity com.google.android.gm.ConversationListActivityGmail (from package com.google.android.gm)
//   - NOT USING main activity com.android.music.activitymanagement.TopLevelActivity (from package com.google.android.music)
//   - NOT USING main activity com.google.android.youtube.videos.EntryPoint (from package com.google.android.videos)
//   - NOT USING main activity com.google.android.youtube.app.honeycomb.Shell$HomeActivity (from package com.google.android.youtube)
//   - NOT USING main activity com.android.calculator2.Calculator (from package com.android.calculator2)
//   - NOT USING main activity com.android.documentsui.LauncherActivity (from package com.android.documentsui)
//   - NOT USING main activity com.google.android.apps.tachyon.MainActivity (from package com.google.android.apps.tachyon)
//   - NOT USING main activity com.google.android.apps.wallpaper.picker.CategoryPickerActivity (from package com.google.android.apps.wallpaper)
//   - NOT USING main activity com.google.android.googlequicksearchbox.VoiceSearchActivity (from package com.google.android.googlequicksearchbox)
//   - NOT USING main activity com.google.android.googlequicksearchbox.SearchActivity (from package com.google.android.googlequicksearchbox)
//   - NOT USING main activity org.chromium.webview_shell.WebViewBrowserActivity (from package org.chromium.webview_shell)
//   - NOT USING main activity com.heima.googleplay.ui.activity.MainActivity (from package com.heima.googlepaly)
//   - NOT USING main activity com.l.k.a2048.MainActivity (from package com.l.k.a2048)
//   - NOT USING main activity com.mwqi.server.MainActivity (from package com.mwqi.server)
// Selecting main activities from category android.intent.category.MONKEY
//   + Using main activity com.android.settings.Settings$RunningServicesActivity (from package com.android.settings)
//   + Using main activity com.android.settings.Settings$StorageUseActivity (from package com.android.settings)
//   - NOT USING main activity com.google.android.apps.nexuslauncher.NexusLauncherActivity (from package com.google.android.apps.nexuslauncher)
//   - NOT USING main activity com.google.android.googlequicksearchbox.SearchActivity (from package com.google.android.googlequicksearchbox)
// Seeded: 1
// 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%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings%24RunningServicesActivity;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.settings/.Settings$RunningServicesActivity } in package com.android.settings
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(127.0,633.0)
:Sending Touch (ACTION_UP): 0:(122.13759,617.72205)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 265    // KEYCODE_STEM_1
:Sending Key (ACTION_UP): 265    // KEYCODE_STEM_1
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(313.0,1651.0)
:Sending Touch (ACTION_UP): 0:(303.5691,1671.8319)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings } in package com.android.settings
:Sending Key (ACTION_DOWN): 261    // KEYCODE_NAVIGATE_NEXT
:Sending Key (ACTION_UP): 261    // KEYCODE_NAVIGATE_NEXT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 75    // KEYCODE_APOSTROPHE
:Sending Key (ACTION_UP): 75    // KEYCODE_APOSTROPHE
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(194.0,1013.0)
:Sending Touch (ACTION_MOVE): 0:(194.17482,1027.0416)
:Sending Touch (ACTION_MOVE): 0:(194.36394,1039.0669)
:Sending Touch (ACTION_MOVE): 0:(194.37766,1041.9233)
:Sending Touch (ACTION_MOVE): 0:(194.62457,1048.8154)
:Sending Touch (ACTION_MOVE): 0:(194.82686,1051.3623)
:Sending Touch (ACTION_MOVE): 0:(195.1119,1064.0265)
:Sending Touch (ACTION_MOVE): 0:(195.25784,1078.7003)
:Sending Touch (ACTION_UP): 0:(195.25941,1078.7919)
Sleeping for 1000 milliseconds
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings%24RunningServicesActivity;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.settings/.Settings$RunningServicesActivity } in package com.android.settings
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(820.0,1289.0)
:Sending Touch (ACTION_UP): 0:(811.3776,1288.152)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings } in package com.android.settings
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 22    // KEYCODE_DPAD_RIGHT
:Sending Key (ACTION_UP): 22    // KEYCODE_DPAD_RIGHT
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(1004.0,534.0)
:Sending Touch (ACTION_MOVE): 0:(1003.8345,523.2244)
:Sending Touch (ACTION_MOVE): 0:(1001.3399,515.5587)
:Sending Touch (ACTION_MOVE): 0:(998.58185,507.8732)
:Sending Touch (ACTION_UP): 0:(990.2112,505.87778)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 55    // KEYCODE_COMMA
:Sending Key (ACTION_UP): 55    // KEYCODE_COMMA
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(207.0,1722.0)
:Sending Touch (ACTION_MOVE): 0:(214.46628,1708.5884)
:Sending Touch (ACTION_MOVE): 0:(218.49586,1701.235)
:Sending Touch (ACTION_MOVE): 0:(233.87596,1695.7671)
:Sending Touch (ACTION_MOVE): 0:(234.53836,1691.9363)
:Sending Touch (ACTION_MOVE): 0:(244.77632,1690.3433)
:Sending Touch (ACTION_MOVE): 0:(256.09955,1687.1125)
:Sending Touch (ACTION_MOVE): 0:(258.1707,1673.1073)
:Sending Touch (ACTION_UP): 0:(269.4473,1664.8296)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 54    // KEYCODE_Z
:Sending Key (ACTION_UP): 54    // KEYCODE_Z
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(690.0,288.0)
:Sending Touch (ACTION_MOVE): 0:(687.713,287.46722)
:Sending Touch (ACTION_MOVE): 0:(684.6747,287.37296)
:Sending Touch (ACTION_MOVE): 0:(681.21875,287.03662)
:Sending Touch (ACTION_MOVE): 0:(674.37054,285.86954)
:Sending Touch (ACTION_MOVE): 0:(670.049,285.3602)
:Sending Touch (ACTION_UP): 0:(663.81366,284.73547)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-4.0)
:Sending Touch (ACTION_DOWN): 0:(190.0,643.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(177.96869,631.5016) 1:(463.0,854.0)
:Sending Touch (ACTION_MOVE): 0:(175.31313,625.4875) 1:(476.67343,858.8698)
:Sending Touch (ACTION_MOVE): 0:(175.17049,616.48987) 1:(490.21158,864.5304)
:Sending Touch (ACTION_MOVE): 0:(171.7843,603.9706) 1:(509.094,869.149)
:Sending Touch (ACTION_MOVE): 0:(160.2726,592.85815) 1:(524.6093,875.6366)
:Sending Touch (ACTION_MOVE): 0:(151.97731,592.1003) 1:(545.78125,877.75604)
:Sending Touch (ACTION_POINTER_UP 1): 0:(149.48224,583.898) 1:(561.0221,892.13635)
:Sending Touch (ACTION_UP): 0:(136.06664,576.89453)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(366.0,676.0)
:Sending Touch (ACTION_UP): 0:(368.7623,675.90955)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(571.0,1412.0)
:Sending Touch (ACTION_UP): 0:(557.0456,1406.3217)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(755.0,137.0)
:Sending Touch (ACTION_UP): 0:(747.9617,139.5191)
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_DOWN): 0:(0.0,0.0)
:Sending Trackball (ACTION_UP): 0:(0.0,0.0)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.contacts/.activities.PeopleActivity;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.contacts/.activities.PeopleActivity } in package com.android.contacts
    //[calendar_time:2020-03-11 11:44:46.860  system_uptime:26090099]
    // Sending event #100
Sleeping for 1000 milliseconds
    //[calendar_time:2020-03-11 11:44:47.861  system_uptime:26091101]
    // Sending event #100
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Key (ACTION_DOWN): 105    // KEYCODE_BUTTON_R2
:Sending Key (ACTION_UP): 105    // KEYCODE_BUTTON_R2
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
:Sending Key (ACTION_UP): 82    // KEYCODE_MENU
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 48    // KEYCODE_T
:Sending Key (ACTION_UP): 48    // KEYCODE_T
Sleeping for 1000 milliseconds
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.settings/.Settings } in package com.android.settings
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
    // Rejecting start of Intent { act=com.android.settings.action.SETTINGS_SEARCH pkg=com.android.settings.intelligence cmp=com.android.settings.intelligence/.search.SearchActivity } in package com.android.settings.intelligence
:Sending Touch (ACTION_DOWN): 0:(51.0,97.0)
:Sending Touch (ACTION_MOVE): 0:(44.70249,103.14431)
:Sending Touch (ACTION_MOVE): 0:(30.99037,110.864975)
:Sending Touch (ACTION_MOVE): 0:(27.874043,113.815216)
:Sending Touch (ACTION_MOVE): 0:(26.874329,125.06941)
:Sending Touch (ACTION_MOVE): 0:(7.275593,136.98026)
:Sending Touch (ACTION_MOVE): 0:(0.0,149.35378)
:Sending Touch (ACTION_UP): 0:(0.0,164.81886)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(216.0,1132.0)
:Sending Touch (ACTION_UP): 0:(220.20807,1144.5032)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { cmp=com.android.settings/.Settings$AppAndNotificationDashboardActivity } in package com.android.settings
:Sending Key (ACTION_DOWN): 148    // KEYCODE_NUMPAD_4
:Sending Key (ACTION_UP): 148    // KEYCODE_NUMPAD_4
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 154    // KEYCODE_NUMPAD_DIVIDE
:Sending Key (ACTION_UP): 154    // KEYCODE_NUMPAD_DIVIDE
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(970.0,329.0)
:Sending Touch (ACTION_MOVE): 0:(969.45447,319.3278)
:Sending Touch (ACTION_MOVE): 0:(964.5577,318.47418)
:Sending Touch (ACTION_MOVE): 0:(954.3843,303.13065)
:Sending Touch (ACTION_MOVE): 0:(945.1661,298.1266)
:Sending Touch (ACTION_MOVE): 0:(943.73987,284.47354)
:Sending Touch (ACTION_UP): 0:(933.88306,275.45148)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(806.0,830.0)
:Sending Touch (ACTION_UP): 0:(822.9014,833.5624)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings } in package com.android.settings
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(519.0,331.0)
:Sending Touch (ACTION_UP): 0:(513.8563,317.17645)
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,4.0)
:Sending Key (ACTION_DOWN): 202    // KEYCODE_BUTTON_15
:Sending Key (ACTION_UP): 202    // KEYCODE_BUTTON_15
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 33    // KEYCODE_E
:Sending Key (ACTION_UP): 33    // KEYCODE_E
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(773.0,445.0)
:Sending Touch (ACTION_MOVE): 0:(775.9197,432.98404)
:Sending Touch (ACTION_MOVE): 0:(784.08923,429.825)
:Sending Touch (ACTION_UP): 0:(791.21466,413.18033)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(172.0,475.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(168.15672,476.96567) 1:(1001.0,1137.0)
:Sending Touch (ACTION_MOVE): 0:(165.7653,482.0456) 1:(982.1247,1130.9469)
:Sending Touch (ACTION_MOVE): 0:(162.52913,487.0908) 1:(967.6115,1124.677)
:Sending Touch (ACTION_MOVE): 0:(160.89809,492.23373) 1:(966.1237,1114.4075)
:Sending Touch (ACTION_MOVE): 0:(155.85478,495.98233) 1:(960.0628,1106.9417)
:Sending Touch (ACTION_MOVE): 0:(154.62265,501.8155) 1:(953.1474,1101.6896)
:Sending Touch (ACTION_MOVE): 0:(152.62292,505.57068) 1:(933.64795,1099.9128)
:Sending Touch (ACTION_POINTER_UP 1): 0:(148.28369,506.14767) 1:(924.80444,1098.6329)
:Sending Touch (ACTION_UP): 0:(146.8576,513.75305)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(309.0,853.0)
:Sending Touch (ACTION_UP): 0:(300.59735,840.0363)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 150    // KEYCODE_NUMPAD_6
:Sending Key (ACTION_UP): 150    // KEYCODE_NUMPAD_6
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 109    // KEYCODE_BUTTON_SELECT
:Sending Key (ACTION_UP): 109    // KEYCODE_BUTTON_SELECT
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(756.0,1206.0)
:Sending Touch (ACTION_MOVE): 0:(746.4552,1204.6006)
:Sending Touch (ACTION_MOVE): 0:(745.37256,1203.894)
:Sending Touch (ACTION_MOVE): 0:(743.0906,1203.4321)
:Sending Touch (ACTION_MOVE): 0:(738.705,1203.0928)
:Sending Touch (ACTION_MOVE): 0:(734.9502,1201.8889)
:Sending Touch (ACTION_MOVE): 0:(725.6858,1200.2493)
:Sending Touch (ACTION_MOVE): 0:(721.37177,1199.2068)
:Sending Touch (ACTION_MOVE): 0:(713.78467,1198.5002)
:Sending Touch (ACTION_UP): 0:(708.3721,1198.3927)
    //[calendar_time:2020-03-11 11:45:13.315  system_uptime:26116555]
    // Sending event #200
Sleeping for 1000 milliseconds
    // Allowing start of Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings } in package com.android.settings
    //[calendar_time:2020-03-11 11:45:14.319  system_uptime:26117558]
    // Sending event #200
:Sending Touch (ACTION_DOWN): 0:(136.0,1203.0)
:Sending Touch (ACTION_UP): 0:(141.29825,1210.1511)
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,4.0)
:Sending Trackball (ACTION_DOWN): 0:(0.0,0.0)
:Sending Trackball (ACTION_UP): 0:(0.0,0.0)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-4.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-1.0)
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 68    // KEYCODE_GRAVE
:Sending Key (ACTION_UP): 68    // KEYCODE_GRAVE
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-5.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,4.0)
:Sending Key (ACTION_DOWN): 30    // KEYCODE_B
:Sending Key (ACTION_UP): 30    // KEYCODE_B
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(369.0,673.0)
:Sending Touch (ACTION_UP): 0:(379.19263,679.39734)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(343.0,1115.0)
:Sending Touch (ACTION_UP): 0:(361.8189,1116.0309)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(1031.0,1289.0)
:Sending Touch (ACTION_MOVE): 0:(1036.0641,1285.3582)
:Sending Touch (ACTION_UP): 0:(1041.7284,1283.4177)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
:Sending Key (ACTION_UP): 82    // KEYCODE_MENU
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(969.0,1682.0)
:Sending Touch (ACTION_UP): 0:(956.5318,1682.6908)
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-5.0)
:Sending Touch (ACTION_DOWN): 0:(710.0,1590.0)
:Sending Touch (ACTION_UP): 0:(711.8471,1612.9725)
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(884.0,1066.0)
:Sending Touch (ACTION_UP): 0:(892.25824,1082.9952)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 22    // KEYCODE_DPAD_RIGHT
:Sending Key (ACTION_UP): 22    // KEYCODE_DPAD_RIGHT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(39.0,1374.0)
:Sending Touch (ACTION_MOVE): 0:(42.226074,1374.0342)
:Sending Touch (ACTION_MOVE): 0:(54.12439,1374.2104)
:Sending Touch (ACTION_UP): 0:(73.56554,1374.3468)
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(181.0,683.0)
:Sending Touch (ACTION_MOVE): 0:(185.21042,683.1659)
:Sending Touch (ACTION_MOVE): 0:(192.41914,683.29407)
:Sending Touch (ACTION_MOVE): 0:(194.81464,683.75415)
:Sending Touch (ACTION_MOVE): 0:(211.34947,684.596)
:Sending Touch (ACTION_UP): 0:(227.99506,684.9927)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
    //[calendar_time:2020-03-11 11:45:35.574  system_uptime:26138813]
    // Sending event #300
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-5.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-5.0)
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,3.0)
:Sending Trackball (ACTION_DOWN): 0:(0.0,0.0)
:Sending Trackball (ACTION_UP): 0:(0.0,0.0)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
:Sending Key (ACTION_UP): 82    // KEYCODE_MENU
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(814.0,1655.0)
:Sending Touch (ACTION_UP): 0:(832.2675,1646.7292)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,1.0)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.settings/.Settings } in package com.android.settings
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(1004.0,1189.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(988.1897,1196.8615) 1:(412.0,1506.0)
:Sending Touch (ACTION_MOVE): 0:(976.3669,1197.5162) 1:(427.85315,1506.8599)
:Sending Touch (ACTION_MOVE): 0:(964.5587,1203.7528) 1:(441.67627,1507.6056)
:Sending Touch (ACTION_MOVE): 0:(948.6654,1207.2697) 1:(449.5289,1508.3529)
:Sending Touch (ACTION_POINTER_UP 1): 0:(927.8835,1210.2433) 1:(455.2906,1508.9612)
:Sending Touch (ACTION_UP): 0:(919.09467,1215.532)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { cmp=com.android.settings/.Settings$DisplaySettingsActivity } in package com.android.settings
:Sending Key (ACTION_DOWN): 273    // KEYCODE_MEDIA_SKIP_BACKWARD
:Sending Key (ACTION_UP): 273    // KEYCODE_MEDIA_SKIP_BACKWARD
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(2.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-1.0)
:Sending Touch (ACTION_DOWN): 0:(989.0,406.0)
:Sending Touch (ACTION_UP): 0:(987.98566,405.05246)
Sleeping for 1000 milliseconds
    // Allowing start of Intent { cmp=com.android.settings/.Settings$WallpaperSettingsActivity } in package com.android.settings
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-3.0)
:Sending Key (ACTION_DOWN): 64    // KEYCODE_EXPLORER
    // Rejecting start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.chrome/com.google.android.apps.chrome.Main } in package com.android.chrome
:Sending Key (ACTION_UP): 64    // KEYCODE_EXPLORER
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 93    // KEYCODE_PAGE_DOWN
:Sending Key (ACTION_UP): 93    // KEYCODE_PAGE_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 237    // KEYCODE_TV_SATELLITE
:Sending Key (ACTION_UP): 237    // KEYCODE_TV_SATELLITE
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 277    // KEYCODE_CUT
:Sending Key (ACTION_UP): 277    // KEYCODE_CUT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 19    // KEYCODE_DPAD_UP
:Sending Key (ACTION_UP): 19    // KEYCODE_DPAD_UP
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-3.0)
    //[calendar_time:2020-03-11 11:45:58.867  system_uptime:26162106]
    // Sending event #400
:Sending Trackball (ACTION_MOVE): 0:(-3.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,1.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-2.0)
:Sending Key (ACTION_DOWN): 242    // KEYCODE_TV_ANTENNA_CABLE
:Sending Key (ACTION_UP): 242    // KEYCODE_TV_ANTENNA_CABLE
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
:Sending Key (ACTION_UP): 82    // KEYCODE_MENU
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(2.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,4.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-3.0)
:Sending Touch (ACTION_DOWN): 0:(585.0,1223.0)
:Sending Touch (ACTION_MOVE): 0:(578.47876,1206.529)
:Sending Touch (ACTION_MOVE): 0:(573.48724,1202.4214)
:Sending Touch (ACTION_MOVE): 0:(567.725,1194.8248)
:Sending Touch (ACTION_MOVE): 0:(562.2942,1176.0831)
:Sending Touch (ACTION_MOVE): 0:(554.24664,1171.6168)
:Sending Touch (ACTION_MOVE): 0:(542.8552,1165.6432)
:Sending Touch (ACTION_MOVE): 0:(538.54156,1164.1432)
:Sending Touch (ACTION_MOVE): 0:(529.30695,1156.2947)
:Sending Touch (ACTION_MOVE): 0:(516.3787,1138.9984)
:Sending Touch (ACTION_UP): 0:(500.97614,1134.3579)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Trackball (ACTION_MOVE): 0:(3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,0.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-2.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-3.0)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)
:Sending Touch (ACTION_DOWN): 0:(689.0,518.0)
:Sending Touch (ACTION_UP): 0:(702.0024,522.1709)
Sleeping for 1000 milliseconds
    // Rejecting start of Intent { act=android.intent.action.SET_WALLPAPER cmp=com.google.android.apps.photos/.setwallpaper.SetWallpaperActivity } in package com.google.android.apps.photos
    // activityResuming(com.android.settings)
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
    // Rejecting start of Intent { act=com.android.intent.action.SHOW_BRIGHTNESS_DIALOG cmp=com.android.systemui/.settings.BrightnessDialog } in package com.android.systemui
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
    // Rejecting start of Intent { act=com.android.intent.action.SHOW_BRIGHTNESS_DIALOG cmp=com.android.systemui/.settings.BrightnessDialog } in package com.android.systemui
:Sending Key (ACTION_DOWN): 59    // KEYCODE_SHIFT_LEFT
:Sending Key (ACTION_UP): 59    // KEYCODE_SHIFT_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 23    // KEYCODE_DPAD_CENTER
:Sending Key (ACTION_UP): 23    // KEYCODE_DPAD_CENTER
Sleeping for 1000 milliseconds
    // Allowing start of Intent { cmp=com.android.settings/.Settings$WallpaperSettingsActivity } in package com.android.settings
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(390.0,987.0)
:Sending Touch (ACTION_UP): 0:(391.5064,988.69165)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 138    // KEYCODE_F8
:Sending Key (ACTION_UP): 138    // KEYCODE_F8
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(669.0,1617.0)
:Sending Touch (ACTION_MOVE): 0:(679.9067,1619.9043)
:Sending Touch (ACTION_MOVE): 0:(691.7815,1637.2963)
:Sending Touch (ACTION_MOVE): 0:(701.5755,1640.0825)
:Sending Touch (ACTION_MOVE): 0:(703.92395,1641.409)
:Sending Touch (ACTION_UP): 0:(704.244,1653.4315)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 124    // KEYCODE_INSERT
:Sending Key (ACTION_UP): 124    // KEYCODE_INSERT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 21    // KEYCODE_DPAD_LEFT
:Sending Key (ACTION_UP): 21    // KEYCODE_DPAD_LEFT
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
:Sending Key (ACTION_UP): 82    // KEYCODE_MENU
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(643.0,1304.0)
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(642.0712,1294.28) 1:(67.0,826.0)
:Sending Touch (ACTION_MOVE): 0:(641.8491,1286.7115) 1:(66.475685,846.125)
:Sending Touch (ACTION_MOVE): 0:(641.0882,1275.725) 1:(61.430008,846.73627)
:Sending Touch (ACTION_MOVE): 0:(640.20984,1269.1476) 1:(58.237705,865.97614)
:Sending Touch (ACTION_MOVE): 0:(639.7139,1262.7861) 1:(57.02552,876.8321)
:Sending Touch (ACTION_MOVE): 0:(639.3308,1260.5934) 1:(56.948517,883.455)
:Sending Touch (ACTION_POINTER_UP 1): 0:(639.2112,1255.9572) 1:(54.12433,902.9281)
:Sending Touch (ACTION_UP): 0:(638.2343,1252.975)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 20    // KEYCODE_DPAD_DOWN
:Sending Key (ACTION_UP): 20    // KEYCODE_DPAD_DOWN
Sleeping for 1000 milliseconds
:Sending Touch (ACTION_DOWN): 0:(450.0,1625.0)
:Sending Touch (ACTION_UP): 0:(441.96133,1622.8799)
Sleeping for 1000 milliseconds
:Sending Key (ACTION_DOWN): 82    // KEYCODE_MENU
Events injected: 500
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=118602ms (0ms mobile, 0ms wifi, 118602ms not connected)
// Monkey finished

 

备注:

1.注意结果中的

Sleeping for 1000 milliseconds  //该行是--throttle 1000显示的结果。同时注意,sleeping出现的位置。

2.在执行向下滑动的命令时,打开了通知栏,然后又开始了瞎点的操作。这时可在执行monkey命令之前,先执行禁用通知栏的命令[2]

禁用通知栏命令: adb shell settings put global policy_control immersive.full=* 
解除禁用命令: adb shell settings put global policy_control null 

解释:禁用时,只是完全隐藏,当手机或鼠标在界面顶部向下滑时(界面底部向上滑时),通知栏和下方三键会显示出来。

3.当多包执行时,指的是多个包在一起,执行count个操作。并不是每个包执行count个操作。

 

参考资料:

1. 移动端自动化测试----Monkey . 简书 . 我为峰2014

2. adb shell monkey常用命令 . 简书 . 我是龙俊

3.Android Monkey. 博客园. zeotoone

4. 关于 monkey 的--throttle 参数 . TesterHome . 评论区17楼和21楼的解释

5. 官方Monkey Api文档

 

posted on 2020-03-11 17:45  赵师傅历险记plus  阅读(423)  评论(0编辑  收藏  举报

导航