当前位置:   article > 正文

APP测试Adb操作命令与Monkey使用、查错流程(入门+精通级)_monkey命令忽略崩溃

monkey命令忽略崩溃

目录

一、Adb常规操作命令

二、Monkey常规操作命令

1、Monkey日志分析

2、Monkey日志正常与非正常情况

3、Monkey重现异常和回归验证

4、Monkey调试——调整事件百分比

5、Monkey查错步骤

6、Monkey测试中设置事件黑名单和白名单

7、停止执行Monkey


一、Adb常规操作命令

chcp 65001 解决方式中文乱码

adb connect ip地址:端口号     ——连接某个设备,真机可以用usb或者wifi连接

adb devices                          ——查看连接设备的信息。手机设备显示序列号,模拟 器显示IP地址和端口号,device表示连接成功,                                                 unauthorized表示需要手机授权,unkown未识别设备,offline表示离线设备

adb version                           ——查看当前adb版本

adb start-server                    ——启动adb服务

adb kill-server                       ——关闭adb服务

adb nodaemon server            ——检查5037端口是否被占用,

                                                        被占用提示connot bind to 127.0.0.1:5037

adb install xxx.apk(apk包的路径)——安装apk应用包(例:adb install C:\Users\xxx.apk)

adb uninstall app包名                     ——卸载apk应用包

adb shell pm list package -3           ——显示所有第三方app包名

aapt dump badging apk包的路径    ——获取app包的名称与activity

adb shell dumpsys package 包名   ——查看app主activity信息、权限等

adb shell pm list packages              ——显示所有app包名称

adb reboot                                       ——重启模拟器

adb shell                                         ——进入安卓手机目录

adb get-serialno                             ——获取手机序列号

adb shell wm size                           ——获取手机分辨率

adb shell getprop ro.product.model.    ——查看手机设备型号,注意有个符号点

adb shell cat/proc/cpuinfo                  ——获取手机cpu信息

adb shell cat/sys/class/net/wlan/address        ——获取手机mac地址

adb logcat                                         ——查看所有进程日志

adb logcat | find “app包名”               ——查看指定app日志

adb logcat | find “app包名”  >windows路径\文件名          ——将日志写到电脑上名字随意

adb push 电脑文件路径 手机文件路径                            ——上传电脑文件到手机中

adb pull  手机文件路径 电脑文件路径                             ——手机上传文件到电脑中

adb -s 设备名 shell                                                         ——进入指定设备的目录

adb -s 设备名 install xxx.apk                                         ——安装应用到指定设备目录

二、Monkey常规操作命令

adb shell monkey help                 ——monkey命令介绍

adb shell monkey 100                 ——对模拟器或者真机做100次随机操作

adb shell pm list package -3         ——查看所有第三方app包的名称

adb shell monkey -p app包名 100         ——对指定的app做100次随机操作

adb shell monkey -p app包名 --throttle 1000 100  

对指定app隔1000毫秒执行一次,执行100次,

--throttle 时间                                           ——操作事件间的时延,单位是毫秒

1、Monkey日志分析

-v:leve0除启动提示、测试完成和最终结果之外、提供较少信息

-v-v:leve1 提供较为详细的日志,包括每个发送到Activity的事件信息

-v-v-v:leve2最详细的日志,包括测试中选中,未选中的Activity信息

Tips:可以简单的把这个看作不同的等级,-v越多信息越详细

adb shell monkey -p app包名 --throttle 1000  -v-v-v  100 >D:\applog.txt

“>D:\applog.txt”将日志输出到电脑路径,当然可以输出到手机路径

tips:

跑monkey的时候或者想抓程序log导出时,有时会提示:cannot create D:monkeytest.txt: read-only file system

后来发现跟使用使用习惯不一样,一会是先进入adb shell 再用命令,一会是直接命令进入。

进入adb shell后再用命令就会失败~正确方法:退出shell或者执行命令时先不要进shell

2、Monkey日志正常与非正常情况

正常情况://Monkey finished 代表执行完成

异常情况:

  1. 程序无响应:在日志中搜索“ANR”
  2. 崩溃问题:在日志中搜索“Exception”
  3. 如果有空指针,搜索“NullPointerException”
  4. 如果Monkey执行中断,在log最后也可以看到当前执行次数

3、Monkey重现异常和回归验证

-s:在命名中加上seed值,确保两次执行序列号一样

如果第一次稳定测试出现了BUG,那测试就需要重现BUG和验证BUG

adb shell monkey -p app包名 -s seed值 --throttle 1000 -v-v-v 100 >D:\log.txt

adb shell monkey -p app包名 -s seed值 --throttle 1000 -v-v-v 100 >D:\log1.txt

“>盘符:\文件名.txt”是为了将测试的日志放到磁盘中,两个放一起方便对比

tips:

两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。

4、Monkey调试——调整事件百分比

一般来说,不设置参数的话,monkey遇到报错就会停止,所以加上一些忽略参数,monkey遇到报错时,我们可以让他忽略错误继续执行,防止提前结束

--ignore-crashes                 ——忽略应用程出现crash(应用或程序崩溃)时monkey停止运行

--ignore-timeouts                 ——忽略在出现ANR(无响应,超时)时monkey停止运行

--ignore-security-exceptions  —— 忽略在应用程序发生许可证错误的时候(认证或证书异常)

–ignore-native-carshes        ——忽略本地代码导致的崩溃

例如同时忽略上面三种错误:

adb shell monkey -p app包名 --throttle 1000  --ignore-crashes  --ignore-timeouts --ignore-security-exceptions  -v-v-v >D:\applog.txt

设置随机事件百分比,所有的百分比加起来不能超过100%

    触摸事件百分比,                即参数--pct-touch

    滑动事件百分比,                即参数--pct-motion

    缩放事件百分比,                即参数--pct-pinchzoom

    轨迹球事件百分比,            即参数--pct-trackball

    屏幕旋转事件百分比,        即参数--pct-rotation

    基本导航事件百分比,        即参数--pct-nav

    主要导航事件百分比,        即参数--pct-majornav

    系统事件百分比,                即参数--pct-syskeys

    Activity启动事件百分比,     即参数--pct-appswitch

    键盘翻转事件百分比,         即参数--pct-flip

    其他事件百分比,                即参数--pct-anyevent

  例:adb shell monkey --pct-touch 20 -1000

表示触摸事件20%,1000毫秒执行一次,然后其他事件随机分配,总时间百分比之和为100%

5、Monkey查错步骤

Monkey测试出现错误后,一般的查错步骤为以下几步:

①、找到是monkey里面的哪个地方出错

②、查看Monkey里面出错前的一些事件动作,并手动执行该动作

③、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样——复现

一般的测试结果分析:

①、 ANR问题:在日志中搜索“ANR”

②、崩溃问题:在日志中搜索“Exception”  Force Close

6、Monkey测试中设置事件黑名单和白名单

在测试中,因为手机中的一些其他操作可能影响测试结果(例如下拉通知栏),我们可以进行设置一个类似黑名单的东西去屏蔽它,具体命令如下:

adb shell monkey --pkg-blacklist-file /data/ blacklist.txt -v -v--throttle 200 1000000

具体的实现方式是,首先在电脑上建立一个blacklist.txt文件,在这个文件中将要屏蔽的包名一一写进去,然后将这个文件push到手机的data目录下: adb push blacklist.txt /data/,这样就会屏蔽掉这几个包,不去执行它。

和黑名单类似,我们也可以建立一个类似于白名单一样的文件whitelist.txt,只去执行在白名单列表中的包名,详细步骤和黑名单一样。具体命令如下:

adb shell monkey --pkg-whitelist-file /data/whitelist.txt -v -v --throttle 500  100000

7、停止执行Monkey

跑monkey的过程中,如果想停止monkey时,可以删除pid

adb shell

# ps | grep monkey

#kill pid

觉得有用还请动动小手来个关注点赞加收藏

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/669235
推荐阅读
相关标签
  

闽ICP备14008679号