zoukankan      html  css  js  c++  java
  • 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

      :冒号后面可以跟任意等级的缩写如WEF

    如果这样你看着还是觉得多的话,可以指定只看某一个App的日志信息

    adb logcat | findstr com.huahua.testing

    com.huahua.testing是“普通话测试”这款ApppackageName,这样日志信息就只显示这款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 调整系统按键事件的百分比(这些按键通常被保留,由系统使用,如HomeBackStart CallEnd Call及音量控制键)

    --pct-appswitch 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。

    --pct-anyevent 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。

      

  • 相关阅读:
    Android游戏开发22:Android动画的实现J2me游戏类库用于Android开发
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
    使用OGR创建dxf格式矢量数据
    mysql 数据库引擎 MyISAM InnoDB 大比拼 区别
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第二部分)
    mysql 更改数据库引擎
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第一部分)
    android 数字键盘使用
    MySQL Innodb数据库性能实践
    eclipse : Error while performing database login with the driver null
  • 原文地址:https://www.cnblogs.com/lirongyang/p/12035315.html
Copyright © 2011-2022 走看看