您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
学习笔记之Android自动化测试工具Monkey
 
  2758  次浏览      14
 2018-4-25
 
编辑推荐:
本文来自于网络,介绍了自动化测试工具Monkey使用过程,Monkey命令参数说明,注意事项等知识。

一、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,还是不对那就是环境变量设置有误。如果想设置为默认端口号只需要将添加的环境变量删除

   
2758 次浏览       14
相关文章

深度解析:清理烂代码
如何编写出拥抱变化的代码
重构-使代码更简洁优美
团队项目开发"编码规范"系列文章
相关文档

重构-改善既有代码的设计
软件重构v2
代码整洁之道
高质量编程规范
相关课程

基于HTML5客户端、Web端的应用开发
HTML 5+CSS 开发
嵌入式C高质量编程
C++高级编程