MonkeyRunner执行Python脚本实例——发送短信
上一文中我们已经对MonkeyRunner启动一个应用程序有了初步的了解,本文将举例来加深对MonkeyRunner执行Python脚本的理解。
目标:对手机短信程序进行压力测试。
代码如下:
1 #导入我们需要用到的包和类并且起别名 2 import sys 3 from com.android.monkeyrunner import MonkeyRunner as mr 4 from com.android.monkeyrunner import MonkeyDevice as md 5 from com.android.monkeyrunner import MonkeyImage as mi 6 #connect device 连接设备 7 #第一个参数为等待连接设备时间 8 #第二个参数为具体连接的设备ID 9 device = mr.waitForConnection(1.0,‘device_id’) 10 if not device: 11 print >> sys.stderr,"fail" 12 sys.exit(1) 13 #定义要启动的Activity 14 componentName='com.android.mms/.ui.BootActivity' 15 #启动特定的Activity 16 device.startActivity(component = componentName) 17 #等待时间,防止操作太快,设备反应不及时 18 mr.sleep(1.0) 19 #do someting 进行我们的操作 20 #新建短信 21 #参数是屏幕上坐标值,最后一个参数是动作 22 device.touch(57,747,'DOWN_AND_UP') 23 mr.sleep(1.0) 24 #输入收件人号码 25 device.type('10086') 26 #发送短信条数 27 for i in range(0,10): 28 #输入短信内容 29 device.touch(187,402,'DOWN_AND_UP') 30 device.type('Hello') 31 mr.sleep(1.0) 32 #发送短信 33 device.touch(432,380,'DOWN_AND_UP') 34 mr.sleep(1.0) 35 device.touch(51,752,'DOWN_AND_UP') 36 mr.sleep(1.0) 37 #takeSnapshot截图 38 mr.sleep(1.0) 39 result = device.takeSnapshot() 40 #save to file 保存到文件,D盘的根目录下 41 result.writeToFile('d:\\result2.png','png');
以上代码很好理解,关键问题是如何解决坐标值。毕竟不同的设备分辨率是不一样的,下面我们就来看看如何获取屏幕上的坐标值。
注意:如果monkeyrunner脚本文件要使用中文,记得格式保存为utf-8.
屏幕坐标值的获取
我们通过脚本录制工具可以很方便的获取屏幕上的坐标值,下载地址:http://115.com/file/e6r0sln9
下载解压好后,我们在Cmd中运行“monkeyrunner monkey_playback.py”(运行时在monkey_recorder.py前加上它所在的路径),就可以启动脚本录制工具了。如下图所示:
红色部分就是相应的坐标值了。
我们也可以保存以上脚本,通过运行“monkeyrunner monkey_playback test.mr”(test.mr为保存的脚本名),对脚本进行回放。
具体参考:http://www.cnblogs.com/youxilua/archive/2011/11/12/2246576.html