monkey测试工具是干什么用的 (monkeyrunner脚本实例)

扼要:

1、学会搭建monkeyrunner开发环境;

2、学会使用monkeyrunner+python进行编写脚本;

monkeyrunner是Android SDK自带的一个黑盒自动化测试工具。其支持java、python两种语言。本课程是基于python讲述。所以学习本章节的测试人员,需要具备一定的python基础。

monkeyrunner运行在PC上,需要通过服务器/客户端的的模式向设备或者模拟器上的android应用发送指令来执行测试。

monkeyrunner安装

1、安装python,*载下**地址: https://www.python.org/downloads/

2、安装jdk,*载下**地址:https://www.oracle.com/java/technologies/javase-downloads.html

3、安装Android sdk,*载下**地址: https://www.androiddevtools.cn/

4、安装夜神模拟器;

备注:以上1-3点均需要在操作系统中配置环境变量。

基于python的monkeyrunner脚本示例

下面以斗地主为例,模拟用户启动斗地主APP-->单机模式-->开始游戏-->叫地主-->托管游戏-->继续游戏(可以配置循环次数)。

monkey工具能否测试web端,快速使用monkey测试工具的方法

monkeyrunner+python示例_1

monkey工具能否测试web端,快速使用monkey测试工具的方法

monkeyrunner+python示例_2

monkey工具能否测试web端,快速使用monkey测试工具的方法

monkeyrunner+python示例_3

monkeyrunner+python代码部分解析

1、必须导入monkeyrunner相关的库:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

2、获取包名和AppActivity:

使用aapt dump badging ***.apk 命令,进行获取APP包名、activity名;

3、使用adb devices命令,查看夜神虚拟机的驱动名称;

4、在Android SDK的tools文件夹下运行uiautomatorviewer.bat,可以进行APP的元素定位;

5、因脚本运行较快,有时候页面还没有打开,却已运行,就会抛出异常,所以添加了时间间隔:MonkeyRunner.sleep(秒数);

6、本次将运行步骤记录到日志中:

log.write("启动斗地主APP……\n")等,运行后,日志如下图所示:

monkey工具能否测试web端,快速使用monkey测试工具的方法

log格式

7、使用了takeSnapshot()进行截图;

8、本案例主要是使用坐标进行元素定位,其次可以使用控件ID进行定位;但APP的控件ID定位往往被忽略,所以坐标元素使用较多。缺点仅仅对一个手机型号或者模拟器起效。

monkeyrunner常用的系统按键

菜单键:KEYCOD_MENU

HOME键:KEYCOD_HOME

返回键:KEYCODE_BACK

搜索键:KEYCODE_SEARCH

呼叫键:KEYCODE_CALL

结束键:KEYCODE_ENDCALL

上调音量键:KEYCODE_VOLUME_UP

下调音量键:KEYCODE_VOLUME_DOWN

电源键:KEYCODE_POWER

照相键:KEYCODE_CAMERA