Mac下monkey配置测试实例

背景

记一次Monkey测试从安装到配置执行的实例。

一、Monkey测试环境准备

1.1 JDK 安装;

  1. 首先检查当前机器上是否安装了java:

    打开终端,输入’java -version’,如果有显示java版本信息,说明已经安装好了;否则就是没有安装。
  2. 如果没有安装,下载java并安装:

    进入到下载页,选择需要的java版本进行下载安装,java下载地址;

    安装完毕后,可以按照1中的步骤来检查是否安装成功。

1.2 配置Android SDK 安装;

  1. 进入到Android Studio下载地址,下载安装Android Studio;
  2. 如果是自定义安装,在安装过程中,勾选对应的Android sdk即可;如果安装时没有配置,那么安装完成后,打开’Preferences–>Android SDK’,勾选需要安装的版本,点击’Apply’按钮,系统就会自动开始安装。

1.3 Adb环境变量配置;

  1. 安装完Android SDK后,需要配置下环境变量,Mac下的环境变量配置文件.bash_profile,在终端下输入’open -e .bash_profile’编辑环境变量文件,
  2. 在弹出的窗口中输入
ANDROID_HOME=/Users/xxx/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools 
export PATH=$PATH:$ANDROID_HOME/platform-tools
  1. 关闭上面的配置文件,在终端中输入’source .bash_profile’来更新环境变量配置;
  2. 如果.bash_profile文件不存在,可以输入’touch .bash_profile’先创建配置文件;
  3. 更新完配置文件,在终端中输入’adb’,弹出版本信息和adb命令选项,说明已经配置成功了:
xxxMacBook-Pro:~ xxx$ adb
Android Debug Bridge version 1.0.40
Version 4986621
Installed as /Users/xxx/Library/Android/sdk/platform-tools/adb

global options:
 -a         listen on all network interfaces, not just localhost
 -d         use USB device (error if multiple devices connected)
 -e         use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL  use device with given serial (overrides $ANDROID_SERIAL)
 -t ID      use device with given transport id
...

二、App测试实践

2.1 手机配置和连接

  1. 在手机上打开USB调试模式:设置–>开发者选项–>USB调试模式,打开即可;
  2. 将手机连到电脑,在终端中输入’adb devices’,看到devices的具体信息,就说明成功了;有些手机连接时,还需要再点一次允许调试。
xxxMacBook-Pro:~ xxx$ adb devices
List of devices attached
CKL4C16C10000119	device

2.2 获取包名

获取包名有很多种方式,这里介绍一种从日志中抓取包名的方式:

  1. 手机连接到电脑,在电脑终端内进入到指定目录,然后输入adb logcat >log.txt,开始记录日志:
xxxMacBook-Pro:~ xxx$ cd Library/Android/sdk/platform-tools/testlogs/
xxxMacBook-Pro:testlogs xxx$ adb logcat > log.txt

也可以不进入到指定目录,那日志路径要指定好;

  1. 在手机端打开测试包;
  2. 在电脑终端按ctrl+c,终止记录log;
  3. 在日志目录下,查看日志:
xxxMacBook-Pro:testlogs xxx$ vi log.txt 
  1. vi打开文件后,可以使用’/’+关键字’Displayed com.'进行查找:
03-27 19:40:02.947  1171  1196 I ActivityManager: Displayed com.yit.v1/com.yitlib.common.modules.ad.ui.activity.FullScreenAdActivity: +3s409ms (total +6s941ms)

其中,Displayed后面的com.yit.v1就是包名。

2.3 执行测试

在终端执行如下命令进行一次简单的测试,并记录测试信息到log2.txt:

 adb shell monkey -p com.yit.v1 -s 1000 --ignore-crashes --ignore-timeouts -vv 2000 > ../Han/testlogs/log2.txt

2.4 注意点:

  1. 具体测试时,真机和模拟器均可;
  2. 全屏设置:
    • 一般为了防止点到通知中心,会选择让测试目标全屏,命令如下:
      adb shell settings put global policy_control immersive.full=*
      
    • 取消全屏命令如下:
      adb shell settings put global policy_control null
      
  3. 例子中命令的说明:
    1. monkey -p指定测试的包名
    2. - s 1000 2000seed,种子值,后跟第一个数字1000可以理解为记录一个起始值,第二个数字2000表示随机事件数
    3. - ignore-crashes忽略crash,crash后继续完成测试
    4. --ignore-timeouts忽略超时,继续完成测试
    5. -vv也可以写作-v -v,v表示输出测试信息的详细程度,分三级
    6. > xx.log记录测试信息到本地文件,也可以指定路径。

实际过程中,参考了网上很多资料,尤其是这一篇:http://www.voidcn.com/article/p-zrettxas-bsd.html,感谢大神;
本文只是记录了一个简单的实例,monkey测试的实际功能远不止于此。

你可能感兴趣的:(测试)