最近考虑写个monkeyRunner脚本来简化繁复的渠道包验证工作,需要实现的功能也很简单,安装、卸载、启动并进入到欢迎页和全部课程页以及检查结果是否正确。
monkeyRunner本身是androidSDK自带的工具包,它提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。
通常都是用python来编写相应的脚本,但是monkeyRunner本身都是用java写的,所以用java写monkeyrunnber脚本本身应该也是可行的。于是决定用java来完成这个渠道包测试的脚本。
首先我用的IDE是eclipse。先导入android sdk tools路径下的lib里面的几个包:ddmlib.jar、guavalib.jar、monkeyrunner.jar、sdklib.jar、chimpchat.jar。
其实用java写monkeyRunner脚本主要依赖于chimpchat还有ddlimb,后者主要是设备连接。看下chimpchat的结构:
可以窥见,chimpchat下面的API能满足我们对设备的基本操作,连接、启动、安装卸载和截图等等。但是chimpchat本身的API比较繁复,为了便于使用,可以自己封装下常用的操作。下面是一些片段:
都是一些基本的操作应该很一目了然。
然后问题还是会发生的,当你通过坐标的方式定位了某个控件或者是进行了滑动的操作时,如果换了一个屏幕尺寸不一样的手机如何做到完美适配呢?