一 部署准备

项目地址

https://github.com/Louis-me/monkeyTest
https://testerhome.com/topics/9329

部署 monkeyTest

快捷打开 cmd, 视窗键 +r 打开运行窗口后,输入 cmd 回车
D: 回车进入 D:盘 准备直接 git clone 到 D:\workspace\git\目录下

D:\workspace\git\>git clone https://github.com/Louis-me/monkeyTest.git

部署环境介绍

操作系统
快捷查看 win 系统版本, 视窗键 +r 打开运行窗口后, 输入 winver 回车
我的是 win10 版本 1709

Android Sdk
下载地址 http://tools.android-studio.org/index.php/sdk 处下载 android-sdk_r24.4.1-windows.zip
将 android-sdk-windows 解压到你需要的目录下,笔者是 D:\Android\android-sdk-windows

配置 android-sdk 环境变量:
ANDROID_HOME 变量值为 android-sdk 的解压目录,笔者为 D:\Android\android-sdk-windows
PATH PATH 变量值的最后追加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools;

接下来你便可以用 D:\Android\android-sdk-windows 下的 SDK Manager.exe 下载配置 SDK 或 AVD Manager.exe 配置 AVD 模拟器了。
如果你需要测试 android 应用的话,请先安装配置好某一版本的 SDK 及其相关工具。
如下图,SDK manager 必要配置:
Tools->Options 设置

其它要下载的:
此处为了与 Macaca 环境兼容,目前稳定没敢乱升级,大家也可用此.

此处的按需选择与 AVD 模拟器配套使用的

关于 Android 开发环境的大家可以参考此人的博客

Android SDK Manager 和 AVD Manager 使用

Android 开发环境配置

该步骤,主要是为了部署 adb 工具而已,当然也有独立部署 adb 的方案.这个你按需选择吧,不过你既然要搞 android 相关了,android sdk 工具的部署最终还是逃不过的.

二排坑与修复

确认被测 app packagename
这个请参考帖子Android 获取包名和 Activity 的几种方法

修改 monkey.ini 为:

[DEFAULT]
cmd=monkey -p com.your.packagename --throttle 600 --ignore-timeouts --ignore-crashes   --monitor-native-crashes -v -v -v 600 >
package_name=com.your.packagename
activity = com.your.packagename.yourActivity
net = wifi

这个按需改,不懂的话请去百度学习 monkey 原生命令行参数使用.

排坑记
https://github.com/Louis-me/monkeyTest/issues/8
这里弄完就提了 issue

现在你只需要跟着我做以下几步:
找到你的 git clone 的源码目录 monkeyTest
1 创建 info 目录
2 创建 log 目录
3 如遇到该行错误

subprocess.CalledProcessError: Command 'adb -s 12345678 offline shell wm size' returned non-zero exit status 1.

手动 cmd 终端执行下 adb shell wm size 如遇正常捕获到分辨率信息,再次执行 即可成功.原理未调试还.

三 执行

确认真机连接成功
真机小米 Mix2
需要开启真机开发者选项->USB 调试模式和其他相关,主要是调试这一栏要打开的有

为正常捕获 fps 性能数据,还需要开启开发者选项->Gpu 呈现模式分析->在 adb shell dmupsys gfxinfo 中

用 adb 查看连接

D:\>adb devices -l
List of devices attached
12345678               device product:chiron model:MIX_2 device:chiron

cmd 终端方式
直接切到目录 monkeyTest 下执行 (我 win10,配置了 python2 和 python3 双环境,所以下边用的是 python3 命令)

python3 monkeyTest.py

pycharm Run 方式
需要准备 python3.6 环境 和 pycharm 开发工具.(略,自行准备)
pycharm 打开自动 import 相关组件包后,右键 monkeyTest.py 选择 Run->monkeyTest.py 不出意外即可直接执行.

四 停止

cmd 终端方式 ,想中途停止,可以按键 Ctrl+c

pycharm Run 方式,想中途停止,可以按快捷键 Ctrl+F2(pycharm 默认快捷键设置)

但这样只是停止了,发命令这一端,实际你会发现,monkey 事件还继续在您的真机中跑啊跑,即使将 USB 数据线和 PC 断开,monkey 事件还是会继续运行下去.那怎么真正停止呢?

利用 adb shell 命令去 kill 掉手机中的 monkey 进程

1 先找到真机中的 monkey 进程 pid

D:\workspace\git\monkeyTest>adb shell ps| find "monkey"
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
shell     13846 1032  2073652 51480 futex_wait 7f900d7ef0 S com.android.commands.monkey

D:\workspace\git\monkeyTest>adb shell ps| findstr monkey
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
shell     13846 1032  2073652 51480 futex_wait 7f900d7ef0 S com.android.commands.monkey

以上两种 win 环境均可.

2 杀死该 monkey 进程
adb shell kill 进程号
进程号即为上述 第 2 列 中的 13846

五 结果查看与分析

跑完后,我们来看下相关结果目录得到的结果:
log 目录

info 目录

report.xlsx
有三个子工作表
Analysis

总体 cpu mem 网络记录

crash

本次未记录到 crash

**detail

流量记录

稍后更新,未完待续


↙↙↙阅读原文可查看相关链接,并与作者交流