APP测试Adb操作命令与Monkey使用、查错流程(入门+精通级) |
您所在的位置:网站首页 › adb启动应用命令 › APP测试Adb操作命令与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 代表执行完成 异常情况: 程序无响应:在日志中搜索“ANR”崩溃问题:在日志中搜索“Exception”如果有空指针,搜索“NullPointerException”如果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 -v 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 觉得有用还请动动小手来个关注点赞加收藏 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |