-
-
Save vegetablesalad/2f81a3bfda3d68e0dc59 to your computer and use it in GitHub Desktop.
Android MainActivityTest Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package co.uk.myapp.beachroidtest; | |
import android.app.Fragment; | |
import android.app.Instrumentation; | |
import android.test.ActivityInstrumentationTestCase2; | |
import android.test.TouchUtils; | |
import android.test.ViewAsserts; | |
import android.view.View; | |
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { | |
private MainActivity mMainActivity; | |
private Instrumentation mInstrumentation; | |
private View mSearchButton; | |
private View mYourHolidayButton; | |
private static int TIMEOUT_IN_MS = 10000; | |
public MainActivityTest() { | |
super(MainActivity.class); | |
} | |
@Override | |
protected void setUp() throws Exception { | |
super.setUp(); | |
setActivityInitialTouchMode(true); | |
mInstrumentation = getInstrumentation(); | |
mMainActivity = getActivity(); | |
mSearchButton = mMainActivity.findViewById(R.id.action_search); | |
mYourHolidayButton = mMainActivity.findViewById(R.id.action_your_holiday); | |
} | |
public void testLoadsDefaultFragment() { | |
Fragment fragment = mMainActivity.getFragmentManager() | |
.findFragmentById(R.id.hotelResultsFragment); | |
assertTrue(fragment instanceof HotelResultsFragment); | |
} | |
public void testActionBarButtonsExists() { | |
View mainActivityDecorView = mMainActivity.getWindow().getDecorView(); | |
ViewAsserts.assertOnScreen(mainActivityDecorView, mSearchButton); | |
ViewAsserts.assertOnScreen(mainActivityDecorView, mYourHolidayButton); | |
} | |
public void testSearchButtonLoadsSearchActivity() { | |
// Set up Activity Monitor | |
Instrumentation.ActivityMonitor searchActivityMonitor = | |
mInstrumentation.addMonitor(SearchActivity.class.getName(), | |
null, false); | |
// Click ActionBar Search Icon | |
TouchUtils.clickView(this, mSearchButton); | |
// Wait for the Activity to Load | |
SearchActivity receiverActivity = (SearchActivity) | |
searchActivityMonitor.waitForActivityWithTimeout(TIMEOUT_IN_MS); | |
// Check the Activity has exists | |
assertNotNull("SearchActivity is null", receiverActivity); | |
// Check the Activity has loaded | |
assertEquals("Monitor for SearchActivity has not been called", | |
1, searchActivityMonitor.getHits()); | |
// Remove the Activity Monitor | |
getInstrumentation().removeMonitor(searchActivityMonitor); | |
} | |
public void testYourHolidayButtonLoadsYourHolidayActivity() { | |
// Set up Activity Monitor | |
Instrumentation.ActivityMonitor yourHolidayActivityMonitor = | |
mInstrumentation.addMonitor(YourHolidayActivity.class.getName(), | |
null, false); | |
// Click ActionBar Your Holiday Icon | |
TouchUtils.clickView(this, mYourHolidayButton); | |
// Wait for the Activity to Load | |
YourHolidayActivity receiverActivity = (YourHolidayActivity) | |
yourHolidayActivityMonitor.waitForActivityWithTimeout(TIMEOUT_IN_MS); | |
// Check the Activity has exists | |
assertNotNull("YourHolidayActivity is null", receiverActivity); | |
// Check the Activity has loaded | |
assertEquals("Monitor for YourHolidayActivity has not been called", | |
1, yourHolidayActivityMonitor.getHits()); | |
// Remove the Activity Monitor | |
getInstrumentation().removeMonitor(yourHolidayActivityMonitor); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment