必赢亚洲手机app下载


来聊一聊有怎么着有趣的安全名词

让您拍出惊艳朋友圈的美食图

基本操作

一、Monkey是什么

1、Monkey测试是Android自动化测试的一种手段,是个命令行工具,可以运行在模拟器或实际设备之中;

2、Monkey测试自己非凡简单,就是效仿用户的按键输入,触摸屏输入,手势输入等,看设备多长期会出分外;

3、当Monkey程序在模拟器或诚实设备运行的时候,程序会时有发生一定数量或自然时间内的随意模拟用户操作事件,
如点击,按键,手势等, 以及部分系统级另外风波;

4、Monkey测试平日也称随机测试或者稳定性/健壮性测试或者叫做压力测试,类似于软暴力猴子测试,抓起手机打开APP,一顿狂点,各个连忙,高频,无规律的随机性操作,看app是否能正常相应,或者出现崩溃,闪退,内存溢出等等问题

二、Monkey的局限性

1、测试目标只是是应用程序包,有肯定的局限性

2、Monkey测试使用的风波流数据流是轻易的,不可以举办自定义

3、能够对测试的目的,事件数量,类型,频率等展开设置

三、Monkey测试的终止条件

1、假设限制了Monkey运行在一个或多少个特定的包上,那么它会监测试图转到此外包的操作,并对其开展拦截。

2、假若应用程序崩溃或接收到此外失控分外,Monkey将告一段落并报错。

3、即便应用程序产生了应用程序不响应(application not
responding)的不当,Monkey将会告一段落并报错。

四、使用monkey的前提

1、准备一部安卓手机,Apple是这个的!

2、手机最好恢复生机为出厂设置的情景,假若能root就更好了

3、设置用成用不黑屏的动静,黑屏和锁屏会潜移默化命令执行

4、手机不要设置锁屏和解锁密码,开机,常亮,没有人工操作,永远不黑屏锁屏

5、开启开发者选项,允许usb调试,假使有调节选项,记得选用MTP格局

6、PC电脑上安装adb
tool相关工具(后续单独写一篇作品讲ADB工具怎么样设置配置吧!)

366net必赢亚洲手机版,7、usb线将手机和电脑连续,弹出的提示信任的,选信任,提醒允许usb调试的请允许调试

8、Dos窗口cd到你的adb目录下来执行monkey命令(后文的言传身教环境下,adb安装在d盘的adb文件夹下)

9、手机上安装你要测试的app的包,这一步不会的,请到此截至,别往下看了!

五、Monkey实际操作过程

1、首先电脑和手机通过usb连接,连接后跻身adb目录下,查看一下adb效率是否正常,如下图:

adb相关

2、在adb目录下执行【adb
devices】命令,就足以看看一个设备机已经连续可用,假若不可用,那么请检查你的usb调试选项,开发者选项是否同意和开拓,下图突显device已经正常可以利用,我测试的是一台HTC手机:

adb list

3、手机安装上你的apk的测试包,此时亟需明白你的包的ID,才能在指令行里输入相应命令针对这多少个app举行随时事件测试,怎么样理解ID呢?(不是地方的设备名字,而是app的ID,也是不您的app的闽南语名,而是在系统文件里的一串英文名)在adb目录下,执行命令【adb
shell】,然后实施【pm list
packages】,列出的清单里,找到您的app的名字,具体怎么判断,按照经验即可,比如我下图中箭头所指的是baidu的app,package:前边的【com.XXXX.XXXX】就是行使的ID了,找到您的采用ID,就可以去履行测试了(找ID那些进程有两种办法,这一个最简便一点,后文还增补了一种艺术)

查阅包名

4、在表哥大上开拓你的app,登录到应用的主页面,然后在adb的目录下,执行【adb
shell monkey -p com.aaa.aaaaaaaa  -v 500
>F:/monkeylog2018.txt】这条命令的情趣是对aaa.aaaaaaaa这么些ID应用包,执行500次随机事件(可能含有点击,滑动等等,随机生成的,不可以人工控制),然后实施的日志输出到F盘的monkey2018.txt文本里,输入指令后,回车,等待结果,在这些时间里你会看出您的无绳电话机的这些app会自动做各个操作,点击,滑动等等,都是自动化的,这就是正值执行monkey测试了,我把自己集团支付的app名称打码了,命令执行高效,就是这一个效果:

执行monkey测试

5、命令执行到位,接下去就去看看log吧,打开F盘自动生成的那些文件,详细看看都生成了如何内容:

输出日志

六、Monkey日志简要分析

前四行为主是介绍轮廓,第一行是一起进行了有些次随机事件,第二行是告诉您这次测试的app的id,第三四行是说做了怎么类型的操作,第五行先导是介绍本次500次随机事件或指令的遍布比例,至于0-11是咋样看头,稍后介绍,下边是log的全文,贴出来看看(#末端是我写的笺注,不是日记原文):

Monkey: seed=1515610273991 count=500   #一共实施了有些次随机事件

:AllowPackage: com.aaa.aaaaa   #包名

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

// 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%  #启动activity事件百分比

//  9: 2.0%  #键盘轻弹事件百分比

//  10: 1.0%  #其他事件百分比

:Switch:
 #代表跳转到我们要测试的包的里,命令里制定的包的activity里面activity#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.aaa.aaaa/.activity.SplashActivity;end

#意味着同意次intent跳转

  // Allowing start of Intent { act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]
cmp=com.aaa.aaaa/.activity.SplashActivity } in package com.aaa.aaaa

:Sending Trackball (ACTION_MOVE): 0:(-5.0,1.0)

:Sending Trackball (ACTION_MOVE): 0:(4.0,1.0)

:Sending Touch (ACTION_DOWN): 0:(844.0,452.0)

:Sending Touch (ACTION_UP): 0:(856.3925,455.1536)

    // Injection Failed  
 #流入touch事件败北啦,为何吗?因为app还没反应过来,它就实施下一个指令了,还有就是app里没有滑动点击的效益,点了也没影响之类的,将来的篇章详细介绍monkey命令再详解

:Sending Touch (ACTION_DOWN): 0:(246.0,256.0)

:Sending Touch (ACTION_UP): 0:(244.92224,247.17607)

:Sending Touch (ACTION_DOWN): 0:(428.0,476.0)

:Sending Touch (ACTION_UP): 0:(440.89676,405.66605)

    // Injection Failed

:Sending Trackball (ACTION_MOVE): 0:(-2.0,-4.0)

:Sending Touch (ACTION_DOWN): 0:(1070.0,1121.0)

:Sending Touch (ACTION_UP): 0:(1073.162,1132.0884)

:Sending Touch (ACTION_DOWN): 0:(641.0,438.0)

:Sending Touch (ACTION_UP): 0:(657.7884,396.05533)

:Sending Trackball (ACTION_MOVE): 0:(0.0,-4.0)

    //[calendar_time:2018-01-10 16:32:49.912 
system_uptime:16578533]

    // Sending event #100  #流入事件成功100次

:Sending Trackball (ACTION_MOVE): 0:(1.0,-2.0)

:Sending Touch (ACTION_DOWN): 0:(768.0,1602.0)

:Sending Touch (ACTION_UP): 0:(896.64996,1583.9524)

:Sending Touch (ACTION_DOWN): 0:(1045.0,1781.0)

:Sending Touch (ACTION_UP): 0:(1043.9761,1774.2175)

:Sending Touch (ACTION_DOWN): 0:(1037.0,1271.0)

:Sending Touch (ACTION_UP): 0:(983.8985,1251.1171)

:Sending Touch (ACTION_DOWN): 0:(393.0,1354.0)

:Sending Touch (ACTION_UP): 0:(241.84598,1213.4604)

:Sending Touch (ACTION_DOWN): 0:(737.0,243.0)

:Sending Touch (ACTION_UP): 0:(739.0893,253.83078)

:Switch:
#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.aaa.aaaa/.activity.SplashActivity;end

    // Allowing start of Intent { act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]
cmp=com.aaa.aaaa/.activity.SplashActivity } in package com.aaa.aaaa

:Sending Touch (ACTION_DOWN): 0:(839.0,474.0)

:Sending Touch (ACTION_UP): 0:(838.525,469.33966)

:Sending Touch (ACTION_DOWN): 0:(150.0,1406.0)

    //[calendar_time:2018-01-10 16:32:50.269 
system_uptime:16578890]

    // Sending event #200

:Sending Touch (ACTION_UP): 0:(122.750374,1494.216)

:Sending Touch (ACTION_DOWN): 0:(548.0,1164.0)

:Sending Touch (ACTION_UP): 0:(562.61395,1165.6589)

:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)

    // Rejecting start of Intent {
act=com.huawei.membranetouch.action.MT_GUIDE
pkg=com.huawei.membranetouch
cmp=com.huawei.membranetouch/.MtGuideActivity } in package
com.huawei.membranetouch

:Sending Touch (ACTION_DOWN): 0:(30.0,474.0)

:Sending Touch (ACTION_UP): 0:(32.203053,478.70514)

:Sending Touch (ACTION_DOWN): 0:(736.0,1180.0)

:Sending Touch (ACTION_UP): 0:(687.7853,1144.4519)

:Sending Trackball (ACTION_MOVE): 0:(-5.0,-4.0)

:Sending Touch (ACTION_DOWN): 0:(278.0,0.0)

:Sending Touch (ACTION_UP): 0:(277.88403,0.0)

:Sending Touch (ACTION_DOWN): 0:(880.0,947.0)

:Sending Touch (ACTION_UP): 0:(892.1809,885.9538)

:Sending Touch (ACTION_DOWN): 0:(543.0,1594.0)

:Sending Touch (ACTION_UP): 0:(573.5902,1647.6938)

:Sending Touch (ACTION_DOWN): 0:(309.0,1204.0)

:Sending Touch (ACTION_UP): 0:(298.53745,1205.275)

Events injected: 500
 #事件注入了500次,我的log在这篇著作里是剔除了,都差不多,贴太长没用

:Sending rotation degree=0, persist=false #出殡屏幕翻转 度=0,存留=假

:Dropped: keys=0 pointers=11 trackballs=0 flips=6 rotations=0  
#抛开:键=0,指针=11,轨迹球=0,键盘轻弹=6,屏幕翻转=0

## Network stats: elapsed time=2266ms (0ms mobile, 0ms wifi, 2266ms
not connected)
 #网络状态:占用时间=2266ms(手机0ms,wifi0ms,未连接2266ms)

// Monkey finished    #测试停止

如上内容涵盖了测试过程的操作和手续,以及日志的为主分析,要深远的求学monkey还索要深远的剖析日志,这多少个专题,下次再写。

补充:

查阅ID其他措施1:要翻开设备中拥有的包,在CMD窗口中推行以下命令:

  >adb shell

  #cd data/data

  #ls

会列出装有的ID,从中找出团结的ID即可,不过这几个措施的前提是root或者说有data目录的权位,有的机器上执行这几个命令的结果是不容的,并不会列出包名,这种情状下,用上文提到的法子可以搞定;那么些是健全进攻

翻看ID其他艺术2
在三哥大总是电脑的情事下,点击运行你要查阅id的APP后,在adb目录下举行这么些命令,也得以见见app的ID:

>adb shell dumpsys activity | find “mFocusedActivity”  
 这多少个是精准定位

手机百度的ID查找

查阅ID其他方法3:在adb目录下执行:adb shell pm list packages -3  
那多少个命令是出口第三方的包,在这列表里选出自己的app

翻看第三方包ID

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图