9.2连接手机进行app测试之2-----app自动化_ADB和monkey

首先下载adt(a:android d:developer t:tools 安装开发工具)主编给下面一个链接下载

电脑64位系统:

链接:https://pan.baidu.com/s/1AWRS6WD--wPqnmhYr0P80g

提取码:ayg1

电脑32位系统:

链接:https://pan.baidu.com/s/14M4XYpijmbYgaoBfHXykWA

提取码:rj3v

下载路径,解压不能有中文路径

通过这个包下面的adb(a:android d:debug调试 b:bridge)工具实现手机连接

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 手机数据线链接手机,接下来通过切换路径来实现连接手机,输入命令1:adb devices(查看设备)

注意:需要切换到路径下D:\BaiduNetdiskDownload\adt_64位\adt\sdk\platform-tools才能用ADB命令,因为这个路径下有个adb.exe

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

ADB 命令:

1、查看设备:

adb devices

这个命令是查看当前连接的设备,连接到计算机的android设备或者模拟器将会列出显示

2、关闭adb

adb kill -server

这个命令将会关闭列出显示的手机设备

3、开启adb

adb startserver

这个命令将会重新将手机设备列出显示

4、安装软件

adb install

这个命令将指定的apk文件安装到设备

adb install 路径\wahaha.apk

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 5、获取app的包名和activity的名称

adb logcat | findstr START

脚本中,cmp=后面的值就是 包名/activity名称

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 

9.2连接手机进行app测试之2-----app自动化_ADB和monkey F5刷新一下就有内存大小显示出来,这就是logcat日志(存放应用的信息的地方)

adb logcat | findstr START  

logcat:logcat日志

|:查找命令

findstr:查找

START :START字符串

就是查找logcat日志中START字符串

接下来,打好命令,回车

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

手机上点开通过安装命令安装的app软件

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

ctrl+c 退出

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 

6、卸载软件

adb uninstall 包名

7、监控app启动时间      (前提是打开了adb logcat | findstr START)

adb shell am start -W 包名/xxxactivity

开启一个命令提示符窗口输入:adb logcat | findstr START,以下为打开手机设备的“设置”功能

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

再打开一个新的命令提示符窗口,输入下列

 

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

8、关闭app

adb shell am force-stop 包名

9、把app从前台调到后台

adb shell input keyevent 3

PS:app的启动分为冷启动和热启动

冷启动:app彻底停止运行后再启动

热启动:app进入后台后再启动

下图为:热启动

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 PS:cls9清屏)9.2连接手机进行app测试之2-----app自动化_ADB和monkey

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

10、 adb shell 登录设备

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

11、adb push <电脑本地路径><手机目的路径>

从电脑上发送文件或者文件夹复制到设备手机上

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

12、adb pull <手机本地路径> <电脑目标路径>

从设备上下载文件到电脑

 

android自动化----monkey(稳定性测试)

adb shell monkey -p 包名 -v 500   (像猴子一样乱点500下)

首先获取包名:

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

然后输入adb shell monkey -p com.creditease.zhiwang -v 500 >D:\BaiduNetdiskDownload\APP\monkey.log     回车

(将跑的500次日志放到D盘的APP取名叫monkey.log)

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

 

打开monkey.log文件

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

主要看count和Events injected有没有跑出我们要的点击500次

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

如果跑的次数不是500,说明有bug

一般跑monkey都是晚上跑到第二天上班这个时间段

定位bug:

通过获取logcat日志判断

1、crash:如果应用程序崩溃(crash)或接受到任何失控异常,monkey将停止报错

2、ANR:如果应用程序产生了应用程序不响应(application not responding 简称ANR)的错误,monkey将会停止并报错

 

获取logcat日志:

步骤1、adb logcat -c      清空原有的logcat日志

步骤2、adb logcat -v time>D:\BaiduNetdiskDownload\APP\logcat.log           获取日志及时间    。点击回车

步骤3、再开启一个命令窗口跑monkey

adb shell monkey -p com.creditease.zhiwang -v 500 >D:\BaiduNetdiskDownload\APP\monkey.log 

步骤4:如果monkey跑的次数不对应,那么进入到logcat日志中查找

查找ctrl+f,如果应用程序崩溃或失控异常输入java.lang.NullpointerException,如果应用程序不响应输入ANR或者anr in 

获取这段问题附近的上下文

比如如果问题是ANR,通过查询找到了这行,那么这一行的上一行可能是这个bug文件的路径(找到traces.txt),下一行可能是PID

接下来,通过ADB命令:adb pull <手机本地路径> <电脑目标路径>,将这个bug的文件导入到电脑,将traces.txt文件提供给开发定位。

PS:出现ANR的原因,百度搜索 app优化  

回归测试:通过seed值进行回归

9.2连接手机进行app测试之2-----app自动化_ADB和monkey

adb shell monkey -p com.creditease.zhiwang -s 1592545807135  -v 500