2013-04-12 4 views
4

내가 정확히 동일한 코드와 테스트 프로젝트를 생성 한 실행되지 않습니다안드로이드 테스트는 다음과 같이

http://developer.android.com/tools/testing/testing_ui.html

내가 안드로이드 가상 장치에있는 jar 파일을 업로드 한 지금은 준비 해요 테스트를 실행하십시오. 하지만 항상 콘솔에 출력을 얻을 :

INSTRUMENTATION_STATUS: stream=

Test results for WatcherResultPrinter=

Time: 0.0

OK (0 tests)

INSTRUMENTATION_STATUS_CODE: -1


가 나는 또한 다음 코드로 간단한 테스트를 만들었습니다

경우
public void FailedTest() throws UiObjectNotFoundException { 
    assertTrue("This test was executed", false); 
} 

는 코드를 사용하여 UI에 문제가있다 집단.

패키지 이름은 Tests이며, 클래스 이름 Login 그래서 나는 다음과 같은 명령을 실행

uiautomator: permission denied

: 내가 얻을 실제 장치에서 실행하면

adb shell uiautomator runtest TestProject.jar -c Tests.Login

편집

답변

3

첫 번째 단계로 사용 된 표준 규칙과 일치하도록 테스트 방법의 이름을 변경할 수 있습니까? jUnit 3에서 public void testWhatever() { ... }의 첫 4 글자는 소문자로 'test'가 아니며 서명은 public void이며 메소드는 매개 변수를 사용하지 않습니다.

마찬가지로 패키지 이름을 표준 소문자 규칙으로 변경할 수 있습니까? 예 : , 수 제발

adb shell uiautomator runtest Tests.jar -c com.example.tests.Tests

를이 도움이되지 않는 경우 : org.example.tests 당신이 파일을 경우 Tests.java라고 (또한 테스트라는 클래스)는 다음과 같이 당신은 그것을 호출 할 수 있어야한다 Tests.java 파일의 전체 코드를 포함하도록 질문을 수정합니까?

참고 : 나는 여행하면서이 단계에서 코드를 재현하려하지 않았습니다. 내 제안이 문제를 차단하지 않으면 그렇게 할 수 있습니다.

uiautomator: permission denied을 별도로 확인하겠습니다. UI Automator 테스트는 실제 장치에서 실행됩니다. 그들은 장치가 뿌리를 내릴 필요가 없습니다. 표준 Android 4.2.x 기기에서 실행합니다.

+0

패키지와 테스트 메소드 이름을 변경할 때 테스트가 실행되었습니다. 고맙습니다. – Schaliasos

+0

좋은 소식; 실제 장치에서도 작동 했습니까? – JulianHarty

+0

내 장치가 루팅되지 않았습니다. 나는 또한 USB 디버깅을 가능하게했다. 아마도 그것은 안드로이드 버전입니다 (현재 2.3.x에서만 사용되었습니다). 나는 그것을 안드로이드에서 시도해 볼 것이다. 4. 당신의 도움에 감사드립니다. – Schaliasos