Mac,android sdk,monkey压力测试,真机

1.安装Android SDK 

    http://down.tech.sina.com.cn/page/45703.html 新浪本地下载

    安装android sdk,将android-sdk-macosx.zip解压即可,记住自己的安装路径

2.配置环境变量

 * 在应用程序-》实用工具 找到终端,双击打开

*  在命令行输入sudo chmod 666 /etc/profile 修改profile文件的权限

*  使用vi编辑profile文件

* 先输入vi /etc/profile打开该文件 

* 再点击键盘上的i 进入编辑状态

* 将光标通过方向键置于文件最后 

* 输入如下内容,注意各个文件路径均为你自己的路径

export ANDROID_HOME=/Users/fanny/Developer/android-sdk-macosx

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$JAVA_HOME/bin:$PATH

* 内容输入完毕后,点击键盘上的esc按键,之后输入:wq 回车即可保存文件

* 最后在命令行输入source /etc/profile 

* 再执行echo $ANDROID_HOME 查看输出内容是否与自己配置的一致

* 执行echo $JAVA_HOME查看输出内容是否与自己配置的一致

* 一致则说明环境变量配置成功 

* 打开解压的android-sdk-macosx.zip的文件tools,双击android,选中了12个,安装12个就好了,反正最前面的3个是必须安装的,其他没有限制

3。使用真机,连上mac的主机

如果没有连上,在终端上直接输入adb shell monkey -p 项目的activity -v 1000

会提示error: no devices/emulators found


4。运行

* 直接打开终端

* 输入adb devices 列出所有的已连接的设备(包括真机和虚拟机)

* 输入adb shell monkey

usage: monkey 

[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package

[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]:activity必须至少包含一个指定的category,才能被启动,否则启动不了

[--ignore-crashes]:忽略崩溃

[--ignore-timeouts]:忽略超时

[--ignore-security-exceptions]:忽略安全异常

[--monitor-native-crashes] :跟踪本地方法的崩溃问题

[--ignore-native-crashes]:忽略本地方法的崩溃问题

[--kill-process-after-error] :发生错误后直接杀掉进程

[--hprof]:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。

[--pct-touch PERCENT]:指定触摸事件的百分比,如:--pct-touch 5%

[--pct-motion PERCENT]:(滑动事件)

[--pct-trackball PERCENT]:(轨迹球事件)

[--pct-syskeys PERCENT]:(系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)

[--pct-nav PERCENT] :(导航事件 up/down/left/right)

[--pct-majornav PERCENT]:(主要导航事件 back key 、 menu key)

[--pct-appswitch PERCENT] :(activity之间的切换)

[--pct-flip PERCENT]

[--pct-anyevent PERCENT] 

[--pct-pinchzoom PERCENT]

[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]

[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]

[--wait-dbg] 

[--dbg-no-events]

[--setup scriptfile] 

[-f scriptfile [-f scriptfile] ...]

[--port port]

[-s SEED] [-v [-v] ...]:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如:-s 200

[--sort-app-list]

[--throttle MILLISEC] :每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100

[--randomize-throttle]

[--profile-wait MILLISEC]

[--device-sleep-time MILLISEC]

[--randomize-script]

[--script-log]

[--bugreport]

[--periodic-bugreport]

[--delay-appswitch MILLISEC]

[--launch-app-after-launcher

[--launch-app-after-app MILLISEC PACKAGE_NAME CLASS_NAME]

COUNT


5、命令分类

* 常用选项:

--help:打印帮助信息

-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 ,最高为-v -v -v

* 事件选项;

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如:-s 200

--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100

--pct-touch:指定触摸事件的百分比,如:--pct-touch 5%

相关的还有以下option:

--pct-motion (滑动事件)

--pct-trackball (轨迹球事件)

--pct-nav (导航事件 up/down/left/right)

--pct-majornav (主要导航事件 back key 、 menu key)

--pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)

--pct-appswitch (activity之间的切换)

--pct-anyevent (任意事件)

* 约束选项:

-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;

-c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;


* 调试选项:

--dbg-no-events:初始化启动的activity,但是不产生任何事件。为了得到最佳结果,把它与-v、一个或几个包约 束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换

--hprof:指定该项后在事件序列发送前后会立即生成分析报告  —— 一般建议指定该项。

--ignore-crashes:忽略崩溃

--ignore-timeouts:忽略超时

--ignore-security-exceptions:忽略安全异常

--kill-process-after-error:发生错误后直接杀掉进程

--monitor-native-crashes:跟踪本地方法的崩溃问题

--wait-dbg:直到连接了调试器才执行monkey测试。

6、

-p <允许的包名(项目的activity)列表>

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

指定一个包:adb shell monkey -p 项目的activity 100

指定多个包:adb shell monkey -p fishjoy.control.menu  –p 项目的activity  100

-v

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

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

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

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

-s(随机数种子)

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

monkey测试1:adb shell monkey -p 项目的activity –s 10 100

monkey测试2:adb shell monkey -p 项目的activity –s 10 100

--throttle <毫秒>

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

例:adb shell monkey -p 项目的activity --throttle 3000 100

7、

* 可将日志的详细程度保存到文件夹中

adb shell monkey -p com.mimikko.mimikkoui -v-v-v 10000 >/Users/fanny/TestData/bug/java_monkey_log.txt

* 工作中为了保证测试数量的完整进行,我们一般不会在发生错误时立刻退出压力测试。monkey 测试命令如下

adb shell monkey -p com.mimikko.mimikkoui -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 >/Users/fanny/TestData/bug/java_monkey_log.txt

产生时间序列的种子值:500

忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、 详细信息级别为2 , 产生 10000个事件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 励綕tu漒阅读 690评论 0 0
  • Monkey概念介绍 Monkey是猴子的意思。Monkey测试,就像一只猴子,在电脑面前,乱敲键盘在测试。猴子什...
    正规程序员阅读 3,525评论 0 50
  • 注意:应该是monkey -p your.package.name -v 500 这条命令,前面没有adb she...
    Ten_Minutes阅读 755评论 0 0
  • 一、Monkey简介:monkey是Android中的命令行工具,monkey测试是为了测试软件的稳定性,健壮性快...
    街角的那只喵阅读 1,075评论 0 0
  • 你是孤傲的一座岛有自己的城堡 你是零星的一片海有自己的颜色 你是烁亮的一颗星有自己的光芒 你是纯善的一帧影有自己的...
    星人亚阅读 283评论 5 7