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

 

  

posted @ 2013-04-15 10:54  Dimdusk  阅读(5740)  评论(2编辑  收藏  举报