使用monkeyrunner命令行、文件、eclipse平台运行全解

来源:互联网 发布:淘宝文胸打造爆款经验 编辑:程序博客网 时间:2024/06/04 08:55
http://blog.csdn.net/robinzhou/article/details/6771120
很好的例子http://www.cnblogs.com/ccxniit2004/archive/2012/01/18/2325684.html
好的博客文章http://blog.csdn.net/jiguanghoverli/article/category/1060048
MonkeyRunner安装配置及小Demo
1.安装Python插件及配置
1.1 eclipse安装Python插件
   Eclipse环境,点击help->Install New Software, 在弹出界面中选择add按钮:Name随便起, Location: http://pydev.org/updates(连不上的话改为https:...)。

等会之后,选择PyDev下的PyDev for Eclipse,别的都不要选,否则依赖检查那关过不去。 一直点“下一步”,遇到弹出询问你是否信任各种东东时,选择信任。安成后重启Eclipse.

1.2 配置Python插件
在Window菜单中选Preferences, 
(1) PyDev->Interpreter - Python,New一个Python解释器,填上解释器名字和路径,路径选相         应的python.exe。 
注意:Eclipse会取得操作系统的当前编码作为他的缺省编码,而Ubuntu10.04的系统缺省编码是UTF8,所以不再需要更改。


(2) File->New->Project,选PyDev下的PyDev Project,Grammer和Interpreter选相应的版本,Finish

(3) 在PyDev Package Explorer的项目上右键,New->PyDev Module,随便写个名字,Finish。 
然后随便写几行代码,Run。在弹出的对话框中选择Python Run ,OK。


2.开始MonkeyRunner(终端输入单行命令)
2.1 开启android 模拟器
随便建个helloword 工程,run as android application就能起个模拟器来 
2.2 进入sdk的tool目录中
比如我的是/home/xb/Android/android-sdk-linux/tools. 
输入 sh monkeyrunner(启动monkeyrunner这个shell)
(1) 引入monkeyrunner需要的两个模块
from com.android.monkeyrunner i mport MonkeyRunner, MonkeyDevice  回车
(2) 把模拟器和monkey绑定,绑定后在monkeyrunner的操作等同于在模拟器的操作
device = MonkeyRunner.waitForConnection()
(3) 安装一个apk应用包
我安装的SDK自带apidemo包 
/home/xb/Android/android-sdk-linux/samples/android-14/ApiDemos(把这个加到工程中编译后,在bin下生成一个apk包)
device.installPackage("./ApiDemos.apk")--我放tools目录下了
(4) 接下来,我们就可以启动其中的任意activity了,只要传入package和activity名称即可。命令如下:
device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")
(5) (包路径+activity路径,这个觉得有点多余,这个有待研究,理论上讲直接activity路径就可以)
按菜单建,你可以自己组合这些按键device.press('KEYCODE_MENU','DOWN_AND_UP')
输入这些命令时,一边输入一边观察模拟器的反映是否相对应,如下图所示:

3.monkeyrunner运行python文件
(1) 用vim编辑器,新建一个名为monkeytest.py的文件,然后输入如下代码:
python文件只是把单行的python语句整合起来,并没有特别的,可以用vim编辑器新建一个后缀为py的文件,然后添加下面的代码即可运行。
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection()
device.installPackage('/home/lxf/workspace/monkeyrunnertest/myproject/ApiDemos.apk')
device.startActivity(component="com.example.android.apis/com.example.android.apis.ApiDemos")
# Takes a screenshot
result = device.takeSnapshot()
# Writes the screenshot to a file
result.writeToFile('/home/lxf/workspace/monkeyrunnertest/picture/shotbegin.png','png')
# Presses the Down button
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
# Takes a screenshot
result = device.takeSnapshot()
# Writes the screenshot to a file
result.writeToFile('/home/lxf/workspace/monkeyrunnertest/picture/shotend.png','png')默认截屏为png格式。

(2) 在命令行中用cd命令定位到android SDK的路径下的tools目录
(3) 输入sh monkeyrunner /home/lxf/workspace/monkeyrunnertest/src/monkeytest.py 
其中,monkeytest .py 是目录下的python文件,当然也可以是其他路径
(4) 经过上述步骤之后,运行monkeytest .py文件,可得如下的图片:
           
4. 在eclipse环境中运行monkeyrunner脚本
4.1 配置eclipse环境
(1) 安装PyDev插件,按照第一部分即可完成安装
(2) 打开eclipse,点击工具栏上的windows-->preference-->PyDev-->Interpreters Python之后(如下图),点击New按钮,新建一个monkey解释器,name可以随便起,location选择tools目录下monkeyrunner,完成之后即是下图的界面,这样monkeyrunner在eclipse中的环境已经搭配完成

注意:在选择tools目录下monkeyrunner之前,需要做如下工作:
将monkeyrunner重命名为monkeyrunner-original,然后新建一个文件名为monkeyrunner,将下面的代码用gedit编辑器粘贴进去即可:(网上说原因是:We need to replace themonkeyrunner interpreter because Eclipse invokes it using the-u command line option, unbuffer stdin, stdout and stderr,which is not supported by monkeyrunner)
# /bin/bash
if [ "$1" = '-u' ]
then
shift
fi
exec /home/lxf/Android/android-sdk-linux/tools/monkeyrunner-original "$@"
4.2 在eclipse中运行monkeyrunner步骤如下:
(1) 新建一个PyDev Project
(2) 在src目录下新建一个PyDev Module,名字为monkeytest,这样就可以在monkeytest文件中写入任何python代码
(3) 工程上右键选择properties,设置本工程的Interpreter,如下图所示:
(4) 在monkeytest文件上右键run as python,即可出运行结果。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 成都住房公积金管理中心 宜春住房公积金 安徽省住房和城乡建设厅 四川城乡住房建设厅 陕西省住房公积金中心 深圳市住房和建设局 南宁市住房保障和房产管理局 住房公积金是什么 十堰住房公积金查询 广安住房公积金查询 枣庄住房公积金管理中心 南宁市住房公积金查询 陕西住房公积金查询网 南充市住房公积金管理中心 南宁住房公积金 晋中住房公积金查询个人账户 保定住房公积金查询 淮南市住房公积金查询 苏州市住房公积金管理中心 宜春市住房公积金管理中心 住房公积金管理中心电话 福州住房公积金查询 玉林住房公积金查询 住房公积金管理中心地址 烟台住房公积金查询个人账户 个人住房公积金余额查询 成都市住房公积金中心 东莞住房公积金个人帐户查询 西安市住房公积金查询 黄石住房公积金查询 住房公积金客服电话 保定住房公积金 郑州住房公积金 住房公积金咨询电话 泉州市住房公积金个人查询 南充住房公积金查询个人账户 住房公积金电话号码 银川住房公积金查询 淮南住房公积金查询个人账户 毕节住房公积金查询 邯郸市住房公积金管理中心