美文网首页
Android Monkey Mac上使用指南

Android Monkey Mac上使用指南

作者: 吃栗子夫斯基波娃 | 来源:发表于2017-06-06 11:19 被阅读0次

    Monkey简介:

    Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试。

    我们使用Monkey主要用来测试发现crash。

    虽然Monkey测试有部分缺陷,我们无法准确地得知重现步骤, Monkey测试所出现的NullPointException,  都是可以在用户使用时出现的, 何时出现只是时间问题

    理论上来说,  Monkey所有的Crash 都需要在发布前修复掉

    准备工作:

    1、mac上,安装AndroidSDK并配置环境变量,安装adb,可以用brew,坐等,插上手机,adb devices就可以看到你的手机,如下图,酱紫就成功啦

    2、手机上,打开开发者模式,文件传输等,把待跑monkey的debug模式的app装好,并打开

    命令行调用:

    其实就一句关键的命令

    #! /bin/bash

    apkid=$1

    count=$2

    echo "dump before monkey"

    adb shell dumpsys meminfo $apkid >meminfo.txt

    adb shell monkey -p "$apkid" --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --kill-process-after-error --pct-touch 80 --throttle 300 -v -v "$count" > monkey.txt

    echo "dump after monkey"

    adb shell dumpsys meminfo "$apkid" >>meminfo.txt

    echo "dump after start MemoryMonitorActivity"

    adb shell dumpsys meminfo "$apkid" >>meminfo.txt

    echo "FINISH"

    apkid是你app的id,count是点击的次数,一般这个数越大越容易测试出更多的crash,但是时间也会很长,手机可能会很疲劳。

    参数介绍:

    -p <允许的包名列表>

    用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果丌指定包, monkey将允许系统启动设备中的所有app。

    指定一个包:adb shell monkey -p com.shjt.map 100

    指定多个包:adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100

    -v

    用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下 表所示:

    Level 0  :  adb shell monkey -p com.shjt.map -v 100               // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

    Level 1  :  adb shell monkey -p com.shjt.map -v  -v 100          // 提供较为详细的日志,包括每个发送到Activity的事件信息

    Level 2  :  adb shell monkey -p com.shjt.map -v  -v  -v 100     // 最详细的日志,包括了测试中选中/未选中的Activity信息

    -s(随机数种子)

    用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。  示例:

    monkey测试1:adb shell monkey -p com.shjt.map –s 10 100

    monkey测试2:adb shell monkey -p com.shjt.map –s 10 100

    --throttle <毫秒>

    用亍指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的 生成和发送消息。 示

    例:adb shell monkey -p com.shjt.map --throttle 3000 100

    Monkey接入CI

    将调用脚本放在打包机器上,参数只需要appid和点击次数就够了。appid是可以适用于其他app,点击次数可以随需求而定。

    相关文章

      网友评论

          本文标题:Android Monkey Mac上使用指南

          本文链接:https://www.haomeiwen.com/subject/nmegfxtx.html