• adb 及 monkey 常用命令


    adb 及 monkey 常用命令

    一、adb 常用命令

    • 何为 adb?

      • adb (Android Debug Bridge) 是 android 的一个工具。
      • adb 是用来连接安卓手机和 PC 端的桥梁,要有 adb 作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。
      • Android 的初衷是用 adb 这样的工具来协助开发人员在开发 Android 应用的过程中更快更好的调试 apk ,因此 adb 具有安装卸载 apk 、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行 shell 命令等功能。
    • adb 组成

      • 客户端 client :运行在你的电脑上,你可以通过 shell 来调用起一个客户端。其他的 Android 工具,例如 ADT 插件、 DDMS 都可以创建出一个客户端
      • 服务器 server :运行在你电脑的后台,负责管理 client 和 daemon 进行通信。
      • 守护进程 daemon : 运行在模拟器或者 Android 设备的后台。
      • 验证:打开 Windows 命令行,输入 adb 命令
    • adb 常见命令

      • adb --help 查看帮助手册。

      • adb devices 检测连接到电脑的安卓设备,这个是我们会经常用到的检测命令。

      • adb logcat 打印 log 日志信息。

        • adb logcat > d:/test.log 将 log 信息保存到本地路径
        • 输入 "adb logcat" 命令出现 "waiting for device" 信息被挂起时一般需要重新启动服务
          • adb kill server
          • adb start server
      • adb pull <手机路径> <本机路径> 从手机中拉取信息放到本地电脑上。

      • adb push <本机路径> <手机路径> 从本地推送信息到手机上去。

      • adb shell 登录设备 shell (命令行的人机界面),pwd ll ls exit 等命令都可以用,进入到 Linux 命令了,相当于执行远程命令。

      • adb install xxx.apk 安装应用,为了获取 apk 的安装包所在地址,可以直接把 apk 拖到 cmd 的窗口,apk 路径不建议包含中文,一般放到桌面。返回 success 就说明安装成功了。

      • adb uninstall com.tencent.mobileqq 卸载应用

      • adb shell 进入设备shell

        • adb -s 设备名 shell 进入指定设备shell
      • adb shell dumpsys activity | find "mFocusedActivity" 看前台应用包名

        • 应用包名一般从 com.开始到第一个 ‘/’ 之前的内容
      • adb connect / disconnect 通过 WiFi 进行远程连接手机进行调试

        • 这里使用 WiFi 连接的话手机需要 root ,没有 root 只能使用数据线连接。
    • adb shell 目录结构

      adb shell 进入 Linux 命令行模式

      • system 分区
      • data 分区
      • sdcard 分区
    • logcat 日志文件

      • Android 日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用

        使用方式:

        ​ [adb] logcat [<option>] ... [<fiter-spec>]...

      • logcat 是以 "---------- beginning of xxx" 开头的

      • 开发者选项,有个选项叫做 “日志记录器缓冲区大小”,默认是 256K,日志是循环写入环形缓冲区的。在通常情况下,写满时最旧的日志会被删除以给新输出的日志留内存空间。

    二、monkey 常用命令

    • monkey 应用场景

      • Monkey 测试是 Android 平台自动化测试的一种手段,通过 Monkey 程序模拟用户触摸屏幕、滑动 Trackball 、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
      • monkey 是命令行工具
      • monkey 用来做什么?
        • 可以用来做压力测试也可以用来做自动化测试。
      • monkey 什么时候用?
        • 等你们的产品稳定了,没有特别多的 bug 的时候,一般会用 monkey 去测试待测应用的稳定性、健壮性(是否会发生闪退、崩溃);整机测试。
    • monkey 命令格式

      • adb [-s 设备名] shell monkey -p com.tencent.mm --ignore-crashes --ignore-timeouts --throttle 400 -v -s 3500 100000 > D:monkey_log.txt
      • 启动安卓模拟器/真机
      • 点击运行--输入 cmd --进入命令行界面
      • 查看设备连接情况 adb devices
      • 在命令行界面输入 monkey 命令
      • 如果 monkey 需要指定设备,基本语法如下:
        • adb -s [device] shell monkey [options]
    • monkey 常见参数

      • -p :

        • 用于约束限制,用此参数指定一个或多个包(Package ,即 App 名字)。指定指定包之后,monkey 将只允许系统启动指定的 App。如果不指定包,monkey 将允许系统启动设备中的所有 App 。
        • 命令:adb shell monkey -p com.tencent.edu 1000
        • 说明:com.tencent.edu 为包名,1000 是事件计数(即让 monkey 程序模拟1000次随机用户事件)
        • adb shell monkey 1000 这个命令是让 monkey 对整个系统进行随机测试
        • 如果要启动多个包,使用: -p 包名 -p 包名
      • -s :

        • 用于指定伪随机数生成器的 seed 值,如果 seed 相同,则两次 monkey 测试所产生的事件序列也是相同的。

        • 命令:

          monkey 测试1:adb shell monkey -p com.tencent.edu -s 101 100 提前指定

          monkey 测试2:adb shell monkey -p com.tencent.edu -s 101 100

        • 说明:

          两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的seed 值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列是伪随机的。

        • 这个 -s 是在最后事件计数的前面,和 adb -s [device] 要区分开来,-s [device] 一定要放在开始 adb 的后面表示指定设备。

      • -v :

        • 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别

        • -v :日志级别 Level0 初级

          说明:缺省值,仅提供启动提示、测试完成和最终结果等少量信息

        • -v -v :日志级别 Level1 中级

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

        • -v -v -v :日志级别 Level2 高级

          说明:最详细的日志,包括了测试中选中/未选中的 Activity 信息

        • 命令:adb shell monkey -p com.tencent.edu -v 100

      • --throttle <毫秒> :

        • 用于指定用户操作(即事件)间的延时,单位是毫秒;
        • 命令:adb shell monkey -p com.tencent.edu --throttle 3000 100
      • --randomize-throttle :

        • 在事件之间插入随机延迟,随机延迟范围为 0 到 throttle 设置的时间,单位为毫秒。
        • 命令:adb shell monkey -p com.tencent.edu --throttle 5000 --randomize-throttle 100
        • 说明:执行 100 次monkey 随机事件,每次事件的间隔在 0 到 5000 毫秒之间不固定
      • --pkg-whitelist-file : 白名单包名,后面接 txt 文件

        • 第一步把你设置的白名单的包名写到一个 txt 文档里面,记得路径和文档名字都是英文!

          D:whitelist.txt

        • 第二步把这个文件拉到我们的安卓机中去,放到 /data/local/tmp 下面

          adb push D:whitelist.txt /data/local/tmp 注意这两个斜杠不一样

        • 命令:adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 100

      • --pkg-blacklist-file : 黑名单包名,后面接 txt 文件

        • 命令:adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt 100
        • 黑白名单的命令不能同时用,每次只能用一个。
      • --ignore-timeouts :

        • 通常,应用程序发生任何超时错误(如:“Application Not responding” 对话框)monkey 将停止运行,设置此项,monkey 将继续发送事件给系统,直到事件计数完成。
        • 命令:adb shell monkey -p com.tencent.edu --ignore-timeouts 100
      • --ignore-crashes :

        • 通常,应用程序发生崩溃或异常时 monkey 将停止运行,如果设置此项,monkey 将继续发送事件给系统,直到事件计数完成。
        • 命令:adb shell monkey -p com.tencent.edu --ignore-crashes 100
      • --ignore-security-exception

        • 通常,当程序发生许可错误(例如启动一些需要许可的 Activity )导致的异常时,monkey 将停止运行,设置此项,monkey 将继续发送事件给系统,直到事件计数完成。
        • 命令:adb shell monkey -p com.tencent.edu --ignore-security-exception 100
    • monkey 常见参数-百分比事件

      • --pct-touch :
        • 调整触摸点击事件的百分比,down-up ,编号为0。
        • 触摸点击事件是一个 down-up 事件,它发生在屏幕上的某单一位置。
      • --pct-motion :
        • 调整移动事件的百分比,直线滑动,编号为1。
      • --pct-pinchzoom :
        • 调整两指缩放压缩手势的百分比,比如放大缩小手势操作,编号为2。
      • --pct-trackball :
        • 调整轨迹球事件百分比,不常用,编号为3。
        • 现在的手机几乎没有滚动球,但滚动球事件中包含曲线滑动事件,在被测程序需要曲线滑动时可以选用此参数。
      • --pct-rotation :
        • 调整旋转事件的百分比,横屏竖屏,编号为4。
      • --pct-nav :
        • 调整导航事件的百分比,编号为5。
        • 包括上下左右,如方向输入(设备的输入),老手机的上下左右键,智能机上没有。
      • --pct-majornav :
        • 调整主要导航事件的百分比,编号为6。
        • 例如 中间键、回退键、菜单键。
      • --pct-syskeys :
        • 调整“系统”按键事件百分比,编号为7。
        • 这些按钮一般专供系统使用,如:Home,Back,Start Call , End Call ,音量控制。
      • --pct-appswitch :
        • 调整 app 切换事件的百分比,编号为8。
      • --pct-flip :
        • 调整键盘换出隐藏的百分比,编号为9。
      • --pct-anyevent :
        • 调整除上面事件外,其他事件的百分比,编号为10。
        • 如:按键、其他在设备上不常用的按钮等。
      • 命令格式:
        • adb shell monkey {事件参数} 事件次数
      • 命令:
        • adb shell monkey -p com.tencent.mm --pct-touch 10 --pct-rotation 40 -v -v -v 100
  • 相关阅读:
    SQL Server 2008 R2英文版安装图解
    浅析在C#里面抛出SAP里面自定义的异常信息
    JavaScript中的函数基础
    《冷眼看IT》读书笔记IT将成为服务行业
    JavaScript入门
    IT成为第五个服务业
    JavaScript中匿名函数的困惑
    自定义的html radio button的样式
    探索客户端JavaScript
    JavScript中的循环
  • 原文地址:https://www.cnblogs.com/duncan1863/p/13941459.html
Copyright © 2020-2023  润新知