ADB简介以及Monkey测试

2022-07-27,,,

ADB

  • 1. ADB介绍

      ADB的全称是 Android Debug Bridge, 是android sdk里的一个工具,这个工具可以直接操作管理Android模拟器或者真实的android设备
      主要功能:
      	* 运行设备的shell(命令行)
      	* 管理模拟器或设备的端口映射
      	* 计算机和设备之间上传/下载文件
      	* 将本地apk软件安装至模拟器或者android设备
    
  • 2.配置ADB环境变量

    与配置jdk环境变量相似
    首先下载一个android SDK包

    1. 此电脑右键 属性 点击高级系统设置 选择环境变量
      在系统变量中新建ANDROID_HOME变量 路径sdk的路径d:\install\androidSDK

    2. 找到 path环境变量添加%ANDROID_HOME%\platform-tools

    3. 在命令框中输入 adb -version 显示出版本说明配置成功

  • ADB常用命令

    adb -help 查看帮助信息

    1. 查看设备命令 adb devices
      查看当前连接到计算机的android设备或者模拟器
      杀死adb服务之后 发现不了devices 可以重新启动device
      adb devices

    2. 开启服务 adb start-server

    3. 关闭服务 adb kill-server

    4. 安装apk 软件 adb install [apk路径]
      可加参数 -r adb install -r [apk路径] 覆盖安装 保留数据和缓存文件
      -s adb install -s [apk路径] 安装到sdk内而不是 内部存储

    5. 卸载 adb uninstall <包名>

    6. 传输命令

      1. 将电脑文件传输到移动端 push 推
        adb push 电脑文件路径 移动端路径

    这里路径写错了 但是报的错是 read-only file system

    1. 将移动端文件传输到电脑 pull 拉
      adb pull 移动端文件路径 电脑路径

  1. shell 命令行

    1. adb shell 登录设备

    2. 显示系统应用
      adb shell pm list packages -s

    3. 显示第三方软件 adb shell pm list packages -3

    4. 显示所有软件 不加参数 adb shell pm list packages

    5. 清除应用的缓存信息
      adb shell pm clear <包名>

    6. 获取cpu信息
      adb shell dumpsys cpuinfo

    7. 获取磁盘信息 adb shell dumpsys diskstats

    8. 获取内存信息
      adb shell dumpsys meminfo

    9. 获取电池信息
      获取电池状态 adb shell dumpsys battery

      获取电池的属性信息 adb shell dumsys batteryproperties

  2. 查看手机日志

     	adb logcat [选项] [过滤项]
     	
    	不加任何选项是打印日志信息到控制台   adb logcat 
    	
       	> : 输出   输出到一个文件中   adb  logcat  > d:/log.txt 
       	
     	-v time  带时间   adb logcat  -v time > d:/log.txt
    
    	Android 的日志分为如下几个级别:
    		V —— Verbose(最低,输出得最多)
    		D —— Debug
    		I —— Info
    		W —— Warning
    		E —— Error
    		F —— Fatal
    		S —— Silent(最高,啥也不输出)
    
    	adb logcat *:W   显示优先级大于等于  warnning级别的日志
    	 adb logcat   *:w
    			![在这里插入图片描述](https://img-blog.csdnimg.cn/202011282124537.png)
    

Moneky测试

  • Monkey介绍

      	顾名思义,就是像猴子一样  乱点
      	通过Monkey程序模拟用户触摸屏幕,滑动Trackball 按键等操作来对 设备上的程序进行压力测试
      	主要是用来进行压力测试 , 自动的一个压力测试的小工具 测试app是否会crash 崩溃
      	Monkey程序介绍
      	1. monkey程序是Android系统自带的 java语言编写  /system/framework/monkey.jar
      	2. monkey.jar 程序是通过  一个名为 monkey的 shell脚本来执行的 
      		shell脚本  /system/bin/monkey
           3. Monkey 的启动方式
           	  	pc机 cmd 窗口 adb shell  monkey  {+ 命令参数}
           	  	或者 Android机/模拟器上直接执行monkey命令   安装终端模拟器
    
  • moneky命令 基本参数

    1. 使用monkey测试手机所有程序
      adb shell monkey 100 点击100次 日志信息打印到控制台

    2. -p <允许的包名列表>
      adb shell monkey -p

    3. 显示日志的详细程度 -v 默认
      -v 好像一个 -v 可以打印出 事件的百分比 不加的话并没有
      -v -v
      -v -v -v 最详细

    4. monkey 日志分析
      就是将打印出来的日志信息 流到 文件中 通过 >
      adb shell monkey > d:/a.txt

    5. 随机数种子
      用于指定伪随机数生成器的seed 值 如果seed值相同,则两次monkey测试所产生的事件序列也相同
      adb shell monkey -p com… -v -s 20 10

    6. –throttle <毫秒> 用于指定用户操作(即事件) 间的时延 单位是毫秒
      如果不指定的话 monkey 会尽可能快的生成和发送消息
      一般我们设置成300ms 因为用户操作的最快大概是这个速度一个事件
      放到adb命令的最后面好像就不太管用了

    7. –pct-touch
      调整触摸事件的百分比

    1. –ignore-crashes
      通常当应用程序发生崩溃的时候monkey会停止运行‘
      加上这个的话monkey会继续发送事件 给系统 知道事件计数完成

    2. –ignore-timeouts
      通常应用程序发生任何超时错误的话 monkey也会停止运行
      加上这个的话 monkey将继续发送事件系统

    Monkey 实例

    monkey -p com.tencent.mtaexample
    -s 23
    –throttle2000
    –ignore-crashes --ignore-timeouts
    -v -v -v 100000
    >
    /data/local/tmp/log.txt
    2>&1 &

    2>&1 固定的写法,这个也很重要,代表的意思是中间忽略的东东的日志一并输入到指定的文件中。

最后单独的一个"&" 是一旦Monkey测试开始了,之后可以拔掉数据线,不会影响Monkey测试。

monkey 事件的百分比

日志中可能出现的错误

  1. 程序异常退出 uncausedexception (ctrl+f搜索)
  2. 程序强制关闭 ForceClosed
  3. 程序无响应 Application Not Responding (ctrl +f 搜索 'ANS ’ 加一个空格是为了屏蔽掉一些无效信息)

本文地址:https://blog.csdn.net/weixin_45281475/article/details/110290593

《ADB简介以及Monkey测试.doc》

下载本文的Word格式文档,以方便收藏与打印。