2

monkeyrunner に外部の .py ファイルを受け入れさせようとしています。.py ファイルにはいくつかの関数が含まれているだけで、派手なものは何もありません。

mainscript.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 に答える