monkey的使用方法和常见命令

Monkey是直接运行在adb shell中的命令

环境安装

1.       首先把Android-sdk拷贝到电脑的一个路径下(SDK比较大,10.3G, 大家可以拿移动硬盘来我这里拷就行)

2.       然后配置androidadb环境变量,方法如下(我在网上搜的配置方法,细化了一下,比较简单,照着操作就行):

第一步,打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。

第二步,添加android系统环境变量。在系统变量下点击新建按钮,输入环境变量名android(自己的习惯命名),将android开发工具的路径导入

打开Android-sdk->platform-tools,复制这个路径,然后粘贴到变量值中,接着同样打开tools,复制路径,粘贴到变量值中,注意,这两个路径之间用英文分隔符分开

第三步,选择系统变量中Path,点击编辑按钮,把刚才添加的变量值复制粘贴到path后面,用英文分隔符和前面的内容分开即可,接着输入英文分隔符,再把变量名添加到后面,注意要前后加%,后面还得加一个英文分号

第四步,测试环境变量。

首先打开运行命令,运行在开始菜单中就有

1. 最后一步,在运行中输入cmd,调用命令操作窗口。进入后输入adb查看运行结果。

完成配置后,我们就可以直接使用了,接着就可以执行测试了,方法如下:

1. 手机连接电脑,在cmd 下执行adb  shell ,这样就可以访问手机了,如果手机没有被识别,是因为没有驱动,需要安装驱动,

如何安装驱动?

在网上下载91助手电脑版,安装好后连接手机,需要在设置->开发者选项中,打开USB调试.OK

2.重新在cmd下执行adb  shell,这个时候会识别手机

3.接着输入如下命令:执行命令:monkey -p com.baidu.BaiduMap --throttle  500  -v  -v  -v  1000000 >/sdcard/monkey.log &

  logcat  -v time >/sdcard/logcat.log &(详细命令参数看Monkey介绍)这个命令是进行测试的常用命令, 如果还需要设置别的参数,可以根据Monley测试简介上的详细介绍去学习

4. 同时可以在另外一个cmd窗口下执行 adb logcat -v time >>file (这样会把执行的日志打印到指定的文件中),如果不想存在C盘,可以存在其他的路径下:比如, adb logcat -v time >>d:file即可

 5.测试完成后,进入手机/sdcard/monkey.log,把log导出来,如果直接打开log,不方面查看log,在网上下载一个EditPlus,用这个工具打开log文件,清楚明了,方便查找crashANR,采用Ctrl+F搜索的方式可以快速定位

(monkey中搜索提示的crash的事件号,在fie中搜索crashanrexception)

下面是两个比较常见的问题:

1.在测试没有完成如何结束此测试?

有两中方法:

1)直接拔掉数据线断开,然后重新启动手机即可

2)在cmd中键入命令:

psps指所有进程)然后找到Monkey对应的进程号,一般比较好找,然后Kill掉这个进程,输入kill+进程号命令,这样就可以终止测试了

2.Monkey Test执行过程中一般在下面两种情况下会停止测试:

1)如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。

2)如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

避免这个现象的解决办法:--ignore-timeouts

当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成

--ignore-crashes

用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

获取包名的方法:

adb shell

pm list packages

常见使用命令

monkey -p com.baidu.BaiduMap --throttle  500  -v  -v  -v  1000000 >/sdcard/monkey.log &

该命令可以将跑monkey的日志输出到本地

Adb shell 进入手机的adb shell

pm list packages  获取包名

三、注意点

手机要调成开发者模式!

每天进步一点点 分享快乐
原文地址:https://www.cnblogs.com/zhangyqn/p/14622267.html