2013-05-16 5 views
0

viewclient를 실행할 때 이탈이 발생합니다. android-17 api를 사용하여 에뮬레이터에서 실행하고 있습니다.viewclient.py에서 uiautomator 덤프를 전달하는 중 오류가 발생했습니다.

viewclient = ViewClient(device, serialno) 
File "/Users/dpbuild/Jenkins/workspace/AndroidViewer-FeatureBranch-UIAutomation/siamang/src/dtmilano/android/viewclient.py", line 948, in __init__ 
self.dump() 
File "/Users/dpbuild/Jenkins/workspace/AndroidViewer-FeatureBranch-UIAutomation/siamang/src/dtmilano/android/viewclient.py", line 1478, in dump 
self.setViewsFromUiAutomatorDump(received) 
File "/Users/dpbuild/Jenkins/workspace/AndroidViewer-FeatureBranch-UIAutomation/siamang/src/dtmilano/android/viewclient.py", line 1251, in setViewsFromUiAutomatorDump 
self.__parseTreeFromUiAutomatorDump(received) 
File "/Users/dpbuild/Jenkins/workspace/AndroidViewer-FeatureBranch-UIAutomation/siamang/src/dtmilano/android/viewclient.py", line 1405, in _ViewClient__parseTreeFromUiAutomatorDump 
self.root = parser.Parse(receivedXml) 
File "/Users/dpbuild/Jenkins/workspace/AndroidViewer-FeatureBranch-UIAutomation/siamang/src/dtmilano/android/viewclient.py", line 832, in Parse 
parserStatus = parser.Parse(uiautomatorxml, 1) #@UnusedVariable 
File "/Tools/android-sdk-macosx/tools/lib/jython.jar/Lib/xml/parsers/expat.py", line 212, in Parse 
xml.parsers.expat.ExpatError: XML document structures must start and end within the same entity. 

다음과 같이 인쇄 문을 추가하여 uiautomatorxml에서 상대 :

def Parse(self, uiautomatorxml): 
# Create an Expat parser 
parser = xml.parsers.expat.ParserCreate() 
# Set the Expat event handlers to our methods 
parser.StartElementHandler = self.StartElement 
parser.EndElementHandler = self.EndElement 
parser.CharacterDataHandler = self.CharacterData 
# Parse the XML File 
**print "DEBUG: " + uiautomatorxml** 
parserStatus = parser.Parse(uiautomatorxml, 1) #@UnusedVariable 
return self.root 

내가 가진,

DEBUG : (XML 파일은 정상적인 방식으로 시작, 아래 꼬리 인쇄 된 로그의 끝)

<node index="1" text="" class="android.view.View" package="com.android.launcher" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="true" long-clickable="false" password="false" selected="false" bounds="[0,25][800,1232]"><node index="2" text="" class="android.view.View" package="com.android.launcher" content-desc="Home screen 3" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focus

130,515 19 : 41 : 07.014 : 예외 명확

에 XML 완전히 형성되지 인해 S [MainThread] com.android.monkeyrunner.MonkeyRunnerOptions] 스크립트를 종료한다. 왜 이것이 일어날 수 있고 어떻게 해결할 수 있는지에 대한 아이디어가 있다면 궁금합니다.

+0

에뮬레이터에 외부 저장소가 정의되어 있습니까? –

+0

'$ adb shell uiautomator dump/mnt/sdcard/window_dump.xml'을 실행하고 파일이 완전한지 확인하십시오. –

+0

예, 1024MB로 설정된 SD 카드가 있습니다. – user1819441

답변

0

제게 이것은 에뮬레이터를 실행하고있는 시스템의 성능과 관련이 있습니다. 하드웨어 가속을 사용하고 1GB 그래픽 카드가있는 컴퓨터를 사용하여이 문제를 해결할 수있었습니다. 하드웨어 가속을 가능하게하는

단계 : 시뮬레이터

  • 확인 "사용 호스트 GPU".
  • 다운로드 및 설치 인텔 HAXM.
0

UIAutomation 반환 내용이 너무 깁니다. 나는 당신과 같은 메시지를 받았기 때문에 내가 작은보기 페이지를 만들고 실행하면 ViewClient가 잘 작동한다고 생각합니다. 그래서 나는 소켓 메시지에 문제가있어 완전한 oparate로 끝나지 않았습니다 ...

+0

답변에 대해 잘 모르는 경우 댓글을 달아주세요 ... – NREZ