您好我是python开发的新手。我正在尝试执行http://dtmilano.blogspot.in/2012/02/monkeyrunner-interacting-with-views.html给出的代码,但是当我尝试执行代码时,我得到以下错误:
Traceback (most recent call last):
File "C:\Users\gur31265\workspace\MonkeyRunnerForSmartRecorder\com\test\Runner.py", line 23, in <module>
from com.dtmilano.android.viewclient import ViewClient
ImportError: No module named dtmilano
我在PyDev和Jython 2.5.3中使用eclipse。我还在Windows 7机器上运行的eclipse上配置了Python 32。其他Python脚本运行正常,但我不知道为什么在dtmilano的博客上给出的代码导致此错误。我还安装了AndroidViewClient并在系统路径中设置了ANDROID_VIEW_CLIENT_HOME。请帮忙。
答案 0 :(得分:1)
这让我有点兴奋。在导入MonkeyRunner之前,请确保将AndroidViewClient源目录附加到路径。
以下内容将因ImportError: No module named dtmilano
而失败:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
sys.path.append('/path/to/android_view_client_home/src')
from com.dtmilano.android.viewclient import ViewClient
但是,如果您只是切换订单,它将起作用:
sys.path.append('/path/to/android_view_client_home/src')
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
from com.dtmilano.android.viewclient import ViewClient
似乎一旦导入了MonkeyRunner的com
包,它只会在dtmilano
的包中查找。但是,如果在导入任何内容之前,两个com
包都在路径中,那么它将知道在两个位置查找。
答案 1 :(得分:0)
您可以找到有关如何使用Eclipse和PyDev中的PYTHONPATH
和ANDROID_VIEW_CLIENT_HOME
环境变量以及http://dtmilano.blogspot.ca/2012/09/monkeyrunner-importing-from-pythonpath.html命令行的详细说明。
简言之:
#!/usr/bin/env monkeyrunner
import re
import sys
import os
import java
# This must be imported before MonkeyRunner and MonkeyDevice,
# otherwise the import fails.
# PyDev sets PYTHONPATH, use it
try:
for p in os.environ['PYTHONPATH'].split(':'):
if not p in sys.path:
sys.path.append(p)
except:
pass
try:
sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
pass
from com.dtmilano.android.viewclient import ViewClient, View
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
答案 2 :(得分:0)
使用android SDK中的monkeyrunner来运行你的代码。例如: 编译名为help.py的文件使用以下命令: c:&gt; monkeyrunner help.py 同样的命令也适用于linux环境。