失敗,我在我的使用robotium 3.5.1用下面的代碼的Android程序創建簡單的測試:Robotium在第二次測試
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testAddTabs() throws Exception {
addTab("TAB1");
addPreset("TAB1");
addTab("TAB2");
addPreset("TAB2");
}
public void addTab(String tabName) throws Exception {
solo.assertCurrentActivity("Checking current Activity",
MainActivity.class);
Log.d("MyTag", solo.getCurrentActivity().getLocalClassName());
solo.clickOnView(solo.getView(com.sm.scam.R.id.menu_new_tab));
solo.enterText(0, tabName);
solo.clickOnText("OK");
}
public void addPreset(String name) throws Exception {
Log.d("MyTag", solo.getCurrentActivity().getLocalClassName());
solo.goBackToActivity("MainActivity");
Log.d("MyTag", solo.getCurrentActivity().getLocalClassName());
solo.clickOnText(name);
solo.clickOnText("New Preset");
Log.d("MyTag", solo.getCurrentActivity().getLocalClassName());
solo.assertCurrentActivity("Checking current Activity",
PresetActivity.class);
String presetName = "Moti" + 1;
solo.enterText(0, presetName);
solo.pressSpinnerItem(0, 1);
solo.clickOnText("Darkened");
solo.clickOnText("GPS Tag");
solo.clickOnView(solo.getView(com.sm.scam.R.id.menu_save_preset));
}
它簡單地添加新的選項卡,在該選項卡上按下按鈕,更改edittext,微調框和2個開關按鈕並保存。 一切都OK了第一個選項卡但在第二個選項卡下面的代碼:
solo.clickOnText("New Preset");
乾脆不要做什麼! 單擊此按鈕時沒有任何反應,它應該轉發到PresetActivity,因爲它在第一個選項卡中正確轉發。
錯誤代碼:
junit.framework.ComparisonFailure: Checking current Activity expected:<...Preset...> but was:<...Main...>
at com.jayway.android.robotium.solo.Asserter.assertCurrentActivity(Asserter.java:57)
at com.jayway.android.robotium.solo.Solo.assertCurrentActivity(Solo.java:570)
at com.sm.scam.test.ScamTest.addPreset(ScamTest.java:55)
at com.sm.scam.test.ScamTest.testAddTabs(ScamTest.java:32)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java :186)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:537)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1574)
我也試着叫了一聲,迫使它:
solo.goBackToActivity("MainActivity");
,但仍然一無所獲。如果有人幫助我, 會很感激。謝謝
呼叫solo.sleep(INT)... – prakash
已經試過了......仍然沒有工作 –