2012-10-20 3 views
2

monkeyrunner가 외부 .py 파일을 허용하려고했습니다. .py 파일에는 그냥 몇 가지 기능 만 있습니다.monkeyrunner가 외부 .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() 

monkeyHelper.py : 난 그냥 #> monkeyrunner.bat mainscript.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가 내놓은 전체 명령 줄을 보았습니다. - 명령 행에 \ helperScripts에 C : \ path \를 추가 할 수있는 방법이 있습니까? 이 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 

- 어떤 도움이 감사합니다! 당신이 무작위 문자열에 \를 넣을 수 없기 때문에

답변

2

, 시도 :

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

r 문자열이 무시됩니다 모든 이스케이프 코드를 의미 원시 문자열로 취급되어야 함을 의미한다.

또한 helperMonkey.py 그 경로에 있는지 확인,

+0

* FACEPALM * 그래, 그것을 고쳤습니다. – KingOfPoptart

+0

그것이 수정 된 것이라면 eladc의 대답을 정답으로 받아 들여야합니다 (: – saltandpepper

0

당신이 다음

C:\Documents and Settings\<user name>\Local Settings\Application Data\Android\android-sdk\tools\lib\lib 
아래 평 파일을 넣어 당신이

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

에서 'lib에는'폴더를 추가 할 수 있습니다 monkeyrunner 사용하는 경우

파일 이름이 myPyFile.py 인 경우

j UST

from myPyFile import * 

업데이트 : 마지막 시간을, I 업데이 트를, 안드로이드 SDK 도구를 먼저 업데이트 파일을 백업하는 경우, lib 디렉토리 내 파일이 삭제 된 것을주의하십시오.

관련 문제