赞
踩
目录
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 ——安装应用到指定设备目录
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 时间 ——操作事件间的时延,单位是毫秒
-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
正常情况://Monkey finished 代表执行完成
异常情况:
-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:
两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。
一般来说,不设置参数的话,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%
Monkey测试出现错误后,一般的查错步骤为以下几步:
①、找到是monkey里面的哪个地方出错
②、查看Monkey里面出错前的一些事件动作,并手动执行该动作
③、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样——复现
一般的测试结果分析:
①、 ANR问题:在日志中搜索“ANR”
②、崩溃问题:在日志中搜索“Exception” Force Close
在测试中,因为手机中的一些其他操作可能影响测试结果(例如下拉通知栏),我们可以进行设置一个类似黑名单的东西去屏蔽它,具体命令如下:
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
跑monkey的过程中,如果想停止monkey时,可以删除pid
adb shell
# ps | grep monkey
#kill pid
觉得有用还请动动小手来个关注点赞加收藏
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。