package fr.neamar.kiss.androidTest; import android.support.test.InstrumentationRegistry; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; import android.view.WindowManager; import org.junit.Before; import fr.neamar.kiss.MainActivity; import fr.neamar.kiss.R; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.typeText; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; @LargeTest public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { public MainActivityTest() { super(MainActivity.class); } @Before public void setUp() throws Exception { super.setUp(); injectInstrumentation(InstrumentationRegistry.getInstrumentation()); getActivity(); Runnable wakeUpDevice = new Runnable() { public void run() { getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } }; getActivity().runOnUiThread(wakeUpDevice); } public void testCanTypeTextIntoSearchBox() { onView(withId(R.id.searchEditText)).perform(typeText("Test")); onView(withId(R.id.searchEditText)).check(matches(withText("Test"))); } public void testSearchResultAppears() { onView(withId(R.id.searchEditText)).perform(typeText("blahblah")); onView(withId(R.id.item_search_icon)).check(matches(isDisplayed())); onView(withId(R.id.item_search_text)).check(matches(withText("Search Google for “blahblah”"))); } public void testTorchToggleAppears() { onView(withId(R.id.searchEditText)).perform(typeText("torch")); onView(withId(R.id.item_toggle_icon)).check(matches(isDisplayed())); onView(withId(R.id.item_toggle_name)).check(matches(withText("Toggle: Torch"))); } public void testBatterySettingAppears() { onView(withId(R.id.searchEditText)).perform(typeText("batter")); onView(withId(R.id.item_setting_icon)).check(matches(isDisplayed())); onView(withId(R.id.item_setting_name)).check(matches(withText("Setting: Battery"))); } }