3

I have tedious problem about Robotium. Normally While I test with robotium, if It is gone to SecondActivity by clicking a button in FirstActivity, Robotium can be checked that SecondActivity with assertCurrentActivity() method.

For instance A activity is opened, A button is clicked and B Activity is opened and assertCurrentActivity(B) returns true.

Hovewer; if Applicaiton is started in onCreate method that is in A activity, B activity is opened but Robotium can not be checked with assertCurrentActivity(B). It says that still current activity is A activity.

MainActivity.class

@Override
    public void onCreate( Bundle savedInstanceState ) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );
        selector();
        sharedPrefencesHelper.setAppLaunched( true );
        periodsCount = periodListOrdering.getAllPeriodSize();

        if ( periodsCount < 0 )
            intentCalendarActivity();

        replaceNewFragment( EntryFragment.newInstance( this ), ENTRYPAGE_FRAGMENT_TAG );
    }

intentCalendarActivity() method is send to CalendarActivity.class and CalendarActivity is correctly opened.

My Test code

public void testScenario1() {
        // Kilidi aç
        solo.unlockScreen();
        // DB içindek tüm periodları sil.
        myDatabaseQuery.clearPeriodDB();
        // CalendarActivity için ne olur ne olmaz diye bekleme yapalım.
        solo.waitForActivity( "CalendarActivity" );
        // Takvimi doğrula.
        solo.assertCurrentActivity( "CalendarActivity not found", "CalendarActivity" );
        // Hiç bişey yapmadan geri dön.
        solo.goBack();
        // NoDataMessageActivity acitivity e gönderilmelidir.
        solo.waitForActivity( NO_DATA_MESSAGE_ACTIVITY );
        // NoDataMessageActivity gittiğini doğrula
        solo.assertCurrentActivity( NO_DATA_MESSAGE_ACTIVITY + " is not found", NO_DATA_MESSAGE_ACTIVITY );
        // Bir şey yapmadan geri dön
        solo.goBack();
        }

Message that is come from Robotium

junit.framework.ComparisonFailure: CalendarActivity not found expected:<[Calendar]Activity> but was:<[Main]Activity>
at com.robotium.solo.Asserter.assertCurrentActivity(Asserter.java:43)
at com.robotium.solo.Solo.assertCurrentActivity(Solo.java:972)
at com.bitbar.recorder.extensions.ExtSolo.assertCurrentActivity(ExtSolo.java:193)
at com.medyasef.she.NoDataActivityTest.testScenario1(NoDataActivityTest.java:54)
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:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
Olkunmustafa
  • 3,103
  • 9
  • 42
  • 55

0 Answers0