설치가 끝난 후 처음으로 정보 화면이 표시되면 "계속"버튼을 눌러 정보 화면을 표시합니다. 첫 출시 (예 : APK의 JUnit으로 실행) 또는 후속 실행 (즉, 곧은 JUnit)을 위해 실행되는 테스트를 작성하고 싶습니다. 나는로봇 테스트 케이스에서 조건부로 작동하는 이유는 무엇입니까?
if (solo.waitForText("Continue", 20000)) {
solo.clickOnButton("Continue");
}
다음 단계 .... (가) 버튼이 "계속"경우
시험은에서 (통과 할 것이다 ... 나는 등, 생각할 수있는 가장 간단한 조건을 사용하려고 해요 APK 테스트 실행) 버튼이 없으면 (clickOnButton의 ADK에 따라) (직접 JUnit이 실행될 때) 실패합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
2/21/14
아마도 시작해야합니다.
내가 테스트중인 응용 프로그램은 설치 후 처음 시작될 때 "계속"버튼을 눌러 정보 화면을 표시합니다. 이 화면은 이후 앱 실행시 표시되지 않습니다. 첫 출시 (예 : APK의 JUnit으로 실행) 또는 후속 실행 (즉, 곧은 JUnit)을 위해 실행되는 테스트를 작성하고 싶습니다. 나는이 같은 시험 열립니다 Testdroid 사용하여 작업을 기록하여이 테스트를 시작 :이만큼 테스트가 분명히 (APK에서 실행)하지만 실행하기 전에 응용 프로그램을 다시 설치로 작동
public void testRecorded() throws Exception {
try {
solo.waitForActivity("splash");
solo.waitForActivity("Login");
assertTrue(
"Wait for text (id: com.<app identified>.R.id.continue_txt) failed.",
solo.waitForTextById(
"com.<app identified>.R.id.continue_txt", 20000));
solo.clickOnText((TextView) solo
.findViewById("com.<app identified>.R.id.continue_txt"));
을, 실패 화면이 나타나지 않기 때문에 연속 실행 (직선 JUnit으로 실행). 나는에 waitForTextById 및 clickOnText 문을 둘러싸 시도는 IT가 작동하지 않았다 조건부 "만일"그래서
if (solo.waitForText("Continue", 20000)) {
solo.clickOnButton("Continue");}
을 단순화하기 위해 노력하고
if (solo.searchText("Continue")) {
solo.clickOnButton("Continue");}
어느 쪽이이 일의 시도, 어느 한 쪽. 이클립스에 따르면 테스트는 버튼을 클릭 할 수 없을 때 실패한다 (버튼이 없기 때문에). 자바에 대한 지식은 기껏해야 초보적인 것입니다. 나는 여기서 무엇을 이해하지 못 하겠는가?
"계속"이라는 텍스트가 있지만 "계속"이라는 텍스트가있는 단추가 없습니까? – maszter
UI 자동화 뷰어에 따르면 버튼에 텍스트가 "계속"인 TextView가 있습니다. 정보 화면이 표시되면 solo.clickOnButton ("계속") 버튼이 활성화됩니다. – TimM