中易网

如何让monkeyrunner 集成到eclipse 进行调试Python脚本

答案:1  悬赏:60  
解决时间 2021-03-21 08:49
请高手指教!因为monkeyrunner 自动化测试脚本使用Python写的,但是Python中没有如: from com.android.monkeyrunner import MonkeyRunner as mr 等模块,所以无法在eclipse中调试程序,只能在cmd命令行下运行出错了再改。很是麻烦,另外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文件,可得如下的图片:
在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,即可出运行结果。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
营口15路有多少辆车?
如何快速治好,已用消毒水了,
为什么我的黑头都是皮脂,并不是硬颗粒,感觉
简单鸡蛋牛奶布丁的详细做法?
预防大骨节病 作文
海贼王中暴君熊到底意识是清醒还是如同机器人
一万元能做什么生意?
上海较好的补课机构,小班制?
追我的一个帅哥,追了几天,叫我出去玩我没去
lol ez那把打野刀是什么?
换了明一天籁奶粉,宝宝有点抵触该怎么办
手机蓝牙和宝马320li连接后只有电话不可以播
日剧唇膏主题曲是谁唱的,还有在哪可以下到这
文网文认证许可证注册资金不够怎么办、?
为什么锅不能借给别人?有什么说法吗?
推荐资讯
如果软件的序列号输入错误,会出现什么情况?
FGO国服600万free减半活动 free减半活动怎么
准妈妈可以对宝宝进行那些胎教
有本科幻小说,其中一个女主人公叫赵筝,男主
谁能帮我查一下 中国邮政普快包裹查询KA0390-
完美国际2 极水珠一系列任务谁有
什么是副标题
八宝粥哪个牌子的实惠又好喝
high definition audio 总线上的音频设备显示
城南鞋业地址在哪,我要去那里办事
风水屋庭坐北向南,厨房在东北角吉利吗?住宅坐
莆田市荔城区反贪局地址在什么地方,我要处理
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?