2012-09-20 4 views
0

내 응용 프로그램 용 Robotium 테스트 케이스를 빌드했습니다. 모든 것은 테스트 시작을 위해 내 앱과 수동으로 상호 작용해야한다는 것을 제외하고는 잘 작동합니다. 의미는 내가 응용 프로그램에서 다른 활동에 갈 필요가 다음 테스트 케이스가 시작됩니다. 내 시험이 시작될 때 어떤 이유로 시험이 시작되지 않습니다. 이 모든 것을 설정하는 데 도움이해야하고 테스트가 실행됩니다활동을 시작한 직후 로봇 테스트 케이스가 시작되지 않는 이유는 무엇입니까?

public void setUp() throws Exception { 
    super.setUp(); 
    solo = new Solo(getInstrumentation(),getActivity()); 
} 

public void tearDown() throws Exception { 
    solo.finishOpenedActivities(); 
    super.tearDown(); 
} 

:

public class TestApk extends ActivityInstrumentationTestCase2{ 
private static final String TARGET_PACKAGE_ID= "com.bizzabo.client"; 
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.bizzabo.client.ui.activities.BzLauncher"; 
private static Class launcherActivityClass; 
static{ 
    try 
    { 
     launcherActivityClass=Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); 
    } catch (ClassNotFoundException e){ 
     throw new RuntimeException(e); 
    }} 
public TestApk()throws ClassNotFoundException{ 
    super(launcherActivityClass); 
} 
private Solo solo; 
@Override 
protected void setUp() throws Exception 
{ 
    solo = new Solo(getInstrumentation(),getActivity()); 

} 

public void testInformationMenu() { 
    final int INFORMATION_VIEW_NO = 11; 

    solo.getCurrentActivity(); 
    solo.sleep(1000); 
    solo.goBack(); 
    solo.sleep(1000); 
    ArrayList<View> viewList = solo.getCurrentViews(); 
    solo.clickOnView(viewList.get(INFORMATION_VIEW_NO)); 
    solo.sleep(1000); 
    solo.clickOnText("Add Event"); 
    solo.sleep(1000); 
    solo.goBack(); 
    solo.clickOnView(viewList.get(INFORMATION_VIEW_NO)); 
    solo.clickOnText("Invite Your Friends"); 
    solo.sleep(1000); 
    solo.goBack(); 
    solo.clickOnView(viewList.get(10)); 
    solo.sleep(1000); 
    solo.enterText(0, "testbot"); 
    solo.sendKey(Solo.ENTER); 
    solo.sleep(5000); 
    solo.clickOnImage(2); 
    solo.sleep(1000); 
    solo.clickOnText("Join"); 
    solo.goBack(); 
    solo.clickOnText("Community"); 
    solo.sleep(1000); 
    solo.clickOnText("Join"); 
    solo.goBack(); 
    solo.clickOnText("HERE NOW"); 
    solo.sleep(1000); 
    solo.clickOnText("Check-In"); 
    solo.sleep(1000); 
    solo.goBack(); 
    solo.clickOnText("Opportunities"); 
    solo.clickOnText("Messages"); 
    solo.clickOnText("Offers"); 
    solo.sleep(1000); 
    solo.clickOnText("Event"); 
    solo.goBack(); 
    solo.sleep(1000); 
    solo.clickOnText("Information"); 
    solo.clickOnText("Join"); 
    solo.goBack(); 
    solo.clickOnText("+ Invite"); 
    solo.goBack(); 
    solo.clickOnText("Buzz"); 
    solo.goBack(); 
    solo.goBack(); 
    solo.drag(400, 400, 400, 300, 1); 
    solo.sleep(1000); 
} 

public void tearDown() throws Exception { 
    solo.finishOpenedActivities(); 
} 

}

답변

2

나는 그것이 당신의 슈퍼 클래스를 호출하는 것만 큼 간단하다 생각 제대로, 당신의 클래스 이름이 당연하다고 가정하십시오! 당신이 시작할 필요가

LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.bizzabo.client.ui.activities.BzLauncher"; 

확인 제대로 활동을이 줄에

0

당신은 테스트가 시작되는 활동을 작성합니다.

0

제 신청서에 동일한 문제가 있습니다. 내 활동에 나는 gif 애니메이션을 표시하는 사용자 정의보기 (webview)가 있습니다. Activity에서이 뷰를 제거하면 시작시 테스트가 시작됩니다. 그러나 해당 뷰가 존재하면 수동으로 다음 활동으로 전환 할 때까지 테스트를 진행하지 마십시오.

관련 문제