package course.labs.intentslab.tests; import android.test.ActivityInstrumentationTestCase2; import com.robotium.solo.Solo; import course.labs.intentslab.ActivityLoaderActivity; public class ExplicitTest extends ActivityInstrumentationTestCase2<ActivityLoaderActivity> { private Solo solo; public ExplicitTest() { super(ActivityLoaderActivity.class); } public void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); } @Override public void tearDown() throws Exception { solo.finishOpenedActivities(); } // Executes the ExplicitTest public void testRun() { int delay = 2000; // =================== Section One ===================== // Wait for activity: 'course.labs.intentslab.ActivityLoaderActivity' assertTrue( "ExplicitTest:" + "Section One:" + "ActivityLoaderActivity did not load correctly", solo.waitForActivity(course.labs.intentslab.ActivityLoaderActivity.class, delay)); solo.sleep(delay); // Click on Explicit Activation Button solo.clickOnView(solo .getView(course.labs.intentslab.R.id.explicit_activation_button)); // Wait for activity: 'course.labs.intentslab.ExplicitlyLoadedActivity' assertTrue( "ExplicitTest:" + "Section One:" + "ExplicitlyLoadedActivity did not load correctly", solo.waitForActivity(course.labs.intentslab.ExplicitlyLoadedActivity.class, delay)); // Checks that the ExplicityLoadedActivity was launched by the correct // Intent assertEquals( "ExplicitTest:" + "Section One:" + "ExplicitlyLoadedActivity was not launched by the correct Intent", "Intent { cmp=course.labs.intentslab/.ExplicitlyLoadedActivity }", solo.getCurrentActivity().getIntent().toString()); // =================== Section Two ========================== // Hide the soft keyboard solo.hideSoftKeyboard(); solo.sleep(delay); // Clear any text in the EditText solo.clearEditText((android.widget.EditText) solo .getView(course.labs.intentslab.R.id.editText)); // Enter the text: 'test' solo.enterText((android.widget.EditText) solo .getView(course.labs.intentslab.R.id.editText), "test"); // Hide the soft keyboard solo.hideSoftKeyboard(); solo.sleep(delay); // Click on Enter Button solo.clickOnView(solo.getView(course.labs.intentslab.R.id.enter_button)); // Assert that: 'textView1' is shown assertTrue("ExplicitTest:" + "Section Two:" + "textView1 did not show correctly", solo.waitForView(solo .getView(course.labs.intentslab.R.id.textView1))); // Assert that the string 'test' is found in the display assertTrue( "ExplicitTest:" + "Section Two:" + "Correct text was not returned from ExplicitlyLoadedActivity to ActivityLoaderActivity", solo.searchText("test")); } }