关闭

学习笔记之Android自动化测试工具Monkey

标签: Monkeyandroid星湖小筑
303人阅读 评论(0) 收藏 举报
分类:

一、Monkey简介

          Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。至于Monkey的名字是有何而来的呢?这个没有去怎么考究,Monkey这个工具就是一个调皮的猴子,在App中乱按、乱摸、乱滚、乱跳。

二、使用过程

1.安装你要测试的apk(秽话...)

2.在电脑上运行cmd,找到Android SDK的playform-tools目录,并输入命令

adb shell monkey -p com.xxx... -v  10000 >D:\monkeylog.txt

3.回车执行,手机进入monkey测试,测试结束后log日志在对应设置的路径位置(PC)

三、Monkey命令参数说明

通过上文我们已经了解到,通过adb命令开始执行monkey测试,monkey命令的基本格式为:

adb shell monkey –p com.xxx –v 10000 这条命令中,-p代表一个包,即我们monkey测试的对象,一条命令可以有多个包,每添加一个包则需要一个-p,如 adb shell monkey –p 包1 –p 包2…..com.xxx 就是我们需要执行测试的对象-v 代表返回结果的详尽程度,分为3级,分别是level 1 level 2 level 3,级别越高,返回的log会更详尽,1级为-v ,2级为-v –v,3级为 –v –v –v .更为详细格式:

adb shell monkey -p com.xxx...--ignore-crashes --ignore-timeouts --throttle 500 -v -s 3500 10000 > D:\monkeylog.txt

--ignore-crashes代表当应用程序崩溃时,如果执行次数不到将继续执行,默认不设置应用崩溃Monkey会停止

--throttle 500 代表间隔时间,即每次操作的时间间隔。为了更好的模拟用户操作,需要在每次操作之间增加时间间隔,单位是毫秒,此命令的含义就是增加500ms的时间间隔。
-s 3500 代表伪随机数 10000 代表执行次数,根据实际测试需要来修改。

通过参数的设置,可以完成更多的调试功能,Monkey命令行参数中文相关说明见下表。官方英文版



四、注意事项

如果提示error: unknown host service说明adb的5037端口被哪个应用程序占用的被占用

解决办法:运行cmd输入命令netstat -ano | findstr "5037",查看到对应的进程的PID是12216




Ctrl+alt+delete,打开任务管理器,查看是哪个进程占用了12216



 

这里是LdsMobileLink.exe(鲁大师手机助手)占用了此进程,需要将该进程结束




如果无法结束进程,那么我们可以修改adb的端口号

1.打开我的电脑右键属性-高级系统设置-环境变量-系统变量-新建

2.变量名:ANDROID_ADB_SERVER_PORT 变量值:6666(你要的端口号这里为6666)

3.打开cmd输入命令netstat -ano |findstr "6666",没有返回任何结果证明该端口号没有被占用,如果有请重新设置变量值

4.在Android SDK的playform-tools目录,并输入命令adb kill-server,回车,再输入命令adb start-server,回车。


红色位置说明重启adb成功并且端口号为6666,若端口号不正确,请重新打开cmd,还是不对那就是环境变量设置有误。如果想设置为默认端口号只需要将添加的环境变量删除






1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4131次
    • 积分:125
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档