2013-03-04 3 views
4

Android uiAutomator로 재생할 때 4.1.2 장치에서 테스트를 실행할 때 문제가 발생했습니다. enter link description here의 코드를 사용할 때 응용 프로그램 트레이를 스크롤하려고 할 때 예외가 발생합니다.4.1.2 장치에서 uiAutomator가 작동하지 않습니다.

나는 원래 그것이 16보다는 api 17에 대한 컴파일로 인해 발생했다고 생각했지만 사실이 아닌 것 같습니다. 누구든지이 문제가 발생 했습니까?

예외가 발생합니다 : 내 실험에서

[exec] java.lang.reflect.InvocationTargetException [exec] at java.lang.reflect.Method.invokeNative(Native Method) [exec] at java.lang.reflect.Method.invoke(Method.java:511) [exec] at com.example.runTests(Runner.java:124) [exec] at com.example.testExecutor(Runner.java:60) [exec] at java.lang.reflect.Method.invokeNative(Native Method) [exec] at java.lang.reflect.Method.invoke(Method.java:511) [exec] at junit.framework.TestCase.runTest(TestCase.java:168) [exec] at junit.framework.TestCase.runBare(TestCase.java:134) [exec] at junit.framework.TestResult$1.protect(TestResult.java:115) [exec] at junit.framework.TestResult.runProtected(TestResult.java:133) [exec] at junit.framework.TestResult.run(TestResult.java:118) [exec] at junit.framework.TestCase.run(TestCase.java:124) [exec] at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:124) [exec] at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85) [exec] at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76) [exec] at com.android.commands.uiautomator.Launcher.main(Launcher.java:83) [exec] at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) [exec] at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235) [exec] at dalvik.system.NativeStart.main(Native Method) [exec] Caused by: java.lang.NoSuchMethodError: com.android.uiautomator.core.UiScrollable.setAsHorizontalList [exec] at com.example.Runner.launchAppFromHomeScreen(Test.java:45) [exec] ... 19 more

답변

1

아직 미숙 한 것 같다의 UI 자동화 이번 주를, 안드로이드-17 목표로하고 장치가 4.2.1을 실행에서 사용할 수있는 최고의 지원. 4.1.2가 설치된 Galaxy S 장치를 사용해 보았는데보고 한 것과 유사한 오류가있었습니다.

FYI : Android 4.2.2에는 scrollIntoView (...) 호출이 두 번 이상 스 와이프되지 않는 버그가 있다고 생각합니다. Google에 문제를보고했습니다. https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/TjeewtpNWf8

데모 앱을 찾았습니다. http://developer.android.com/tools/testing/testing_ui.html이 (가) Android 4.2.1에서 내 기기에서 작동했습니다. 코드를 약간 조정해야하지만 메소드 호출이 작동 할 수도 있습니다.

+0

그것은 나만이지 않는다는 것을 아는 것이 좋다. 나는 그들이 두 버전 사이에서 뭔가를 바꿨다고 가정한다. – MrChaz

+1

건배. Google의 테스트 페이지에있는 예제와 함께 KitKat에 대한 문제는 계속 발생합니다. 앱 화면으로 들어가서 왼쪽으로 스 와이프하려고 시도한 다음 오른쪽으로 가려고 시도한 다음 휴대 전화의 설정 앱이 셋째에 있음에도 불구하고 "설정"앱을 찾을 수 없다고 말합니다. 페이지 (결코 도달하지 않음). – newfivefour

+0

@JulianHarty 안녕 줄리안, 당신은 자동 응답기를 포기하고 에스프레소로 이사 왔습니까? –

7

UIAutomator의 코드가 변경되었습니다

4.1.1 method : public void setAsHorizontalList() 
4.2 method : public UIScrollable setAsHorizontalList() 

그것은 아마도 당신이 테스트 하지만, API-16 장치에서 실행을 구축하는 API-17의 UIAutomator를 사용하고 있습니다. 해당 UIAutomator.jar을 사용해보세요

+0

api-16에 대해 컴파일 할 때 여전히이 오류가 발생합니다. – MrChaz

+1

이상한 점이 있습니다. 올바른 UIAutomator.jar를 사용하여 해결했습니다. – Aria4Larry

+0

이 솔루션은 나를 위해 일했습니다. 내 목표는 android-16이고 내 장치는 4.2.2입니다. android-17로 대상을 변경 한 후 정상적으로 작동했습니다. –

0

안녕하세요. 동일한 문제가 발생해도 처음에는 build.xml을 삭제하고 새 build.xml 파일을 만든 다음 개미 빌드를 실행합니다. 그것은 저를 위해 동일을 시도하십시오.

관련 문제