扼要:
1、学会搭建monkeyrunner开发环境;
2、学会使用monkeyrunner+Python进行编写脚本;
monkeyrunner是Android SDK自带的一个黑盒自动化测试工具。其支持JAVA、python两种语言。本课程是基于python讲述。所以学习本章节的测试人员,需要具备一定的python基础。
monkeyrunner运行在PC上,需要通过服务器/客户端的的模式向设备或者模拟器上的android应用发送指令来执行测试。
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点均需要在操作系统中配置环境变量。
下面以斗地主为例,模拟用户启动斗地主App-->单机模式-->开始游戏-->叫地主-->托管游戏-->继续游戏(可以配置循环次数)。
monkeyrunner+python示例_1
monkeyrunner+python示例_2
monkeyrunner+python示例_3
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")等,运行后,日志如下图所示:
log格式
7、使用了takeSnapshot()进行截图;
8、本案例主要是使用坐标进行元素定位,其次可以使用控件ID进行定位;但APP的控件ID定位往往被忽略,所以坐标元素使用较多。缺点仅仅对一个手机型号或者模拟器起效。
菜单键:KEYCOD_MENU
HOME键:KEYCOD_HOME
返回键:KEYCODE_BACK
搜索键:KEYCODE_SEARCH
呼叫键:KEYCODE_CALL
结束键:KEYCODE_ENDCALL
上调音量键:KEYCODE_VOLUME_UP
下调音量键:KEYCODE_VOLUME_DOWN
电源键:KEYCODE_POWER
照相键:KEYCODE_CAMERA