2

我试图让 monkeyrunner 接受外部 .py 文件。.py 文件只有一些功能,没什么特别的。

主脚本.py:

import unittest

import logging
import sys
sys.path.append("C:\path\to\helperscripts\")
from monkeyHelper import monkeyHelper


#log to STDERR
logging.basicConfig(level=logging.DEBUG)

class TestDepthOneFunctions(unittest.TestCase):  

def setUp(self):
    mh = monkeyHelper()
    self.device = mh.setupDevice()
    #monkeyHelper.setupDevice()


def test_myMusic(self):
    self.assertEqual(self.device,3)

def tearDown(self):
    pass

if __name__ == '__main__':
    unittest.main()

猴子助手.py:

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import logging
import sys


class monkeyHelper(object):

    def __init__(self):
        return

    def setupDevice(self):
        return 3

我试过只运行#>monkeyrunner.bat mainscript.py,但它不起作用。我已经看到了 monkeyrunner.bat 输出的完整命令行 - 有没有办法将 C:\path\to\helperScripts 添加到该命令行?这是 monkeyrunner.bat 吐出的内容:

C:\Windows\system32\java.exe -Xmx512m -Djava.ext.dirs=lib\;lib\x86_64 -Dcom.android.monkeyrunner.bindir=..\framework -jar lib\monkeyrunner.jar mainscript.py

我得到的错误是:

import monkeyHelper
ImportError: No module named monkeyHelper

我整天都在反对这个 - 任何帮助表示赞赏!

4

2 回答 2

2

由于您不能将 \ 随机放入字符串中,请尝试:

sys.path.append(r"C:\path\to\helperscripts")

r意味着该字符串将被视为原始字符串,这意味着所有转义码都将被忽略。

还要确保 helperMonkey.py 在该路径中,

于 2012-10-20T19:21:01.187 回答
0

如果你使用monkeyrunner,你可以在下面添加一个文件夹'lib'

C:\Documents and Settings\<user name>\Local Settings\Application Data\Android\android-sdk\tools\lib'

然后把你的py文件放在

C:\Documents and Settings\<user name>\Local Settings\Application Data\Android\android-sdk\tools\lib\lib

如果您的文件名为 myPyFile.py

只是

from myPyFile import *

更新:注意如果您要更新Android SDK工具,请先备份您的文件,上次更新时,我的lib中的文件被删除了。

于 2012-12-20T10:21:24.470 回答