一. monkey测试简介

  monkey工具是Android自动化测试工具的一种,主要对Android app稳定性和健壮性进行测试。  

  Monkey是Android系统中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)模拟用户操作,实现对设备上的程序的压力测试,检测程序多久时间会发生异常。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

二. monkey的特征  

  1.  测试的对象仅为应用程序包,有一定的局限性。

  2.  Monky测试使用的事件流数据流是随机的,不能进行自定义。

  3. 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。

  适用情况:ANR和CRASH异常情况;低概率很难复现的异常。

三. 安装monkey工具

  1. 下载安装JDK

  附JDK官网下载链接http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  

  下载截图(其中需要同意许可证,同时针对mac下载和window下载(x86是32位,x64是64位)已标注)

  

  安装成功后可验证是否安装成功,mac打开终端,输入java -version回车,出现版本信息则安装成功  

  

  2.下载Android开发环境的Adt Bundle

  附下载链接http://www.cnblogs.com/tc310/p/3938353.html

  下载截图(针对mac下载和window下载(x86是32位,x64是64位)已标注) 

  

  安装成功后可验证是否安装成功,mac打开终端,输入adb version回车,出现版本信息则安装成功

    此时打开终端输入adb会提示-bash: abd: command not found。需要解决Android SDK的adb命令添加到环境变量的问题。

  1. 启动终端,进入到当前用户的Home目录(命令在下一行)

  cd $HOME

  2. 创建 .bash_profile文件

  touch .bash_profile

  3. 打开 .bash_profile 文件,对其内容进行编辑

  open -e .bash_profile 

  4. 此时文本编辑器会打开一个文本,编辑内容如下:

  export PATH=${PATH}:此处粘贴adb中platform-tools文件夹所在的目录路径地址

  编辑完成后,可直接关闭,此时已保存

  5.更新此文件

  source .bash_profile

  此时的adb环境配置好,可以检验一下

  6.检验是否成功(终端输入)

  adb/adb devices

  adb组成

    客户端client:运行在pc端上,可以通过shell来调起一个客户端,其他android工具

    服务器server:运行在pc端后台,负责管理client和daemon进行通信

    守护进程daemon:运行在模拟器或者android设备的后台 

  adb常见命令

    adb –help 查看帮助手册

    adb devices 检测连接到电脑的安卓设备

    adb pull <手机路径><本机路径>从手机中拉取信息放到本地电脑上

      adb shell ;ls ;cd sdcard ; exit ; 手机路径 /sdcard/kwsecurity-crash.txt 本机路径 /Users/mac/Desktop/

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

      adb push /Users/mac/Desktop/yiwei  /sdcard/

    adb shell 登录设备 shell(命令行的人机界面)进入linux环境了。(相当于执行远程命令)

      pm list packages  查看应用安装的包

      $ pm list packages | grep mockuai  根据某个关键字查找包

    adb logcat 打印日志

      control+c 停止

      adb logcat > 目录文件保存日志文件

      ps:查看当前运行程序

    adb install xxx.apk apk所在路径

    adb uninstall 应用包名

    adb shell dumpsys activity | find “mFocusedActivity” –查看前台应用包名 

      adb shell dumpsys activity | grep “Focus”   com.mockuai.mkselleros

    adb connect/disconnect 通过wifi进行远程连接手机进行调试

      adb tcpip 5555

  3. 打开usb调试

    若使用真机,用USB将手机和Mac连接,在手机端进行操作:

    1. 选择USB连接方式为传输文件;  

    2. 设置->其他设置->开发者选项->开启开发者选项和usb调试(真机和模拟器上皆需进行);

    检测是否连接了设备:adb devices

    部分真机可能存在检测不到的情况,可进行创建、修改adb_usb.ini文件,操作如下:

    a、在终端中输入‘system_profiler SPUSBDataType’,找到手机的Vendor ID并记录;
    b、在终端中输入‘vi ~/.android/adb_usb.ini’,创建并打开文本,按‘I’键可对文本进行编辑,向文本中添加记录的Vendor ID

     (若添加多个,需确保每个id占一行且文本中无空行),完成后按‘esc’键,然后键入‘:wq!’,即可保存并退出文本。完

       成此步后将发现路径/Users/xxx/.android下存在adb_usb.ini文件;
    c、将手机拔掉重新接入Mac,重复1.2,在终端中输入‘adb kill-server’,然后输入‘adb start-server’,再次输入‘adb devices’查看是否识别到设备。

四. monkey常见命令

  monkey命令格式:

  adb shell monkey {+命令参数} 次数

  adb shell monkey -help/-h

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

  -p 后面接着的对应的包名,此参数指定一个或多个包

  -s 用于指定伪随机数生成器的seed值,如果seed值相同,则两次monkey测试所产生的事件序列也相同的。(用于问题重现)

  –throttle<毫秒> 用于指定用户操作(事件)间的时延,单位是毫秒

  -ignore-crashes-ignore-timeouts 在monkey测试的过程中遇到crash或者timeout的情况忽略掉,一般不设置时,出现crash或者timeout时,monkey测试会终止

  设置这个是为了防止monkey测试终止

  次数 指点击的次数,一般设置100000

  

    

  

 

版权声明:本文为yiweiwei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yiweiwei/p/10745611.html