adb+monkey常用命令记录升级版
为什么要叫升级版呢,本来打算自己写一下adb常用命令的,但是在网上看到一个比较好的,就没有自己从头开始写,但是该博主写的有点小瑕疵就是缺少日志过滤和关于monkey的命令,笔者就加了关于日志和monkey的部分,在这里分享给大家,也是我自己忘了时方便过来查看。
----------------------------------------------------------------------------------------------------------------------------------------------------------
该文章除关于日志的部分外都是转自简书:xFlamingo,想看原文可以在简书搜索该作者。
在日常测试中,android的app测试是非常重要的一环,熟练使用adb命令则能极大的帮助我们协助(怼)安卓开发,自证不仅会点点点,让我们来看看adb的常用命令。
1.查看当前pc连接有几台安卓设备
可能是通过usb连接的,也可能是通过wifi连接的
可能是真机,也可能是模拟器
2.查看当前adb版本
3.安装/卸载应用
install apk文件名,如果不在当前文件夹还需要加上绝对路径
uninstall apk包名,至于如何获得apk的包名请看8.获得当前正在运行的应用包名,活动名
4.手机和pc互传文件
pull 手机上的文件 pc上的路径 ——将手机上的文件传到pc
push pc上的文件 手机上的路径 ——将pc上的文件传到手机
5.adb-server 的开启与关闭
6.获取日志文件
-v time ——在日志文件中加上时间
> path ——导出到pc的路径
分析日志文件是很重要的,我可能会另外再写一篇文章对日志文件进行分析
7.手机重启
8.adb shell两种使用方法
⑴.通过adb shell <command>直接调用
⑵.先进入安卓系统,再使用command,exit退出
9.启动应用
am start -n 应用的包名/应用的活动名
10.获得当前正在运行的应用包名,活动名
返回值中的第一个com.xxx为包名
第二个com.xxx为活动名
这两个参数经常会用到,尤其是包名
11.获得应用的apk所在路径
pm path 应用的包名
12.手机录屏
screenrecord 手机上存储的路径
ctrl+c结束
13.手机关机
此处的ERROR不太清楚啥意思,懂的大佬可以解答一下
14.查看日志
adb logcat可以查看日志信息
这种情况是查看所有日志,可能比较多,在这么多日志中找出我们想要的可能有点费劲,怎么办呢?我们可以使用adb logcat -c先清除以前的日志。
这样就会只记录从清除时间开始的日志了。
有的小伙伴这会可能已经发现了,即使清除了前面所有的日志,打印出的日志信息还是非常多,有没有办法可以在过滤一下呢?我们先看一下日志等级吧
V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
我们知道了日志的等级,想要过滤的话可以使用adb logcat *:W
:冒号后面可以跟任意等级的缩写如W、E、F等
如果这样你看着还是觉得多的话,可以指定只看某一个App的日志信息
adb logcat | findstr com.huahua.testing
com.huahua.testing是“普通话测试”这款App的packageName,这样日志信息就只显示这款App的内容了。
配合上前面说过的日志等级:adb logcat *:E | findstr com.huahua.testing
15.adb shell monkey 500
随机发送500个事件整机测试
16.adb shell monkey –p com.wlqq 500
只测试com.wlqq这个应用 ,发送500个事件
如果要指定多个应用可以这样写,以淘宝和货车帮为例: adb shell monkey –v –p com.wlqq –p com.taobao.taobao 1000;跑多个应用时,需要把每个个应用的package name 前面加-p
17.adb shell monkey --throttle 3000 –p com.wlqq 500
限制每次发送的指令的时间间隔是 3000ms,注意 throttle前面是两个横杠 –throttle
18.adb shell monkey –v –p com.wlqq 500
-v代表日志等级 ,打印相关的发送指令等信息,日志等级总共3级,从低到高分别是-v(最简单(默认)),-v -v(提供了较为详细的测试信息)和-v -v -v(提供了更多的设置信息,如测试中选中或未选中的Activity信息)
19. 链接多个devices时候,指定在一个设备上运行
adb –s c6149fa shell monkey -p com.wlqq 500
-s 加设备名,指定机器上运行
-v 表示输出的日志信息登记 ,可叠加使用 ,最多3个 –v ,日志登记越低越全
20. 指定monkey发送的指令的百分比,如触摸指令发送30%,基本导航指令30%
--throttle 在事件之间插入固定延迟。通过这个选项可以减缓 Monkey 的执行速度。如果不指定该选项, Monkey 将不会被延迟,事件将尽可能快地被产成。
--pct-touch 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)。
--pct-motion 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)。
--pct-trackball 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)。
--pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)。
--pct-majornav 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
--pct-syskeys 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)。
--pct-appswitch 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。
--pct-anyevent 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。