package de.tum.in.tumcampusapp.activities; import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import de.tum.in.tumcampusapp.R; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.click; import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard; 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; import static org.hamcrest.Matchers.allOf; @RunWith(AndroidJUnit4.class) @LargeTest public class RoomFinderActivityTest extends BaseActivityTest { @Rule public ActivityTestRule<RoomFinderActivity> mActivityRule = new ActivityTestRule<>(RoomFinderActivity.class); @Override @Test public void mainComponentDisplayedTest() { idIsDisplayed(R.id.list); } @Test public void searchTest() throws InterruptedException { // Adapted from https://android.googlesource.com/platform/frameworks/testing/+/android-support-test/espresso/sample/src/androidTest/java/android/support/test/testapp/ActionBarSearchActivityTest.java onView(allOf(withId(R.id.action_search), isDisplayed())) .perform(click()); // App Compat SearchView widget does not use the same id as in the regular // android.widget.SearchView. R.id.search_src_text is the id created by appcompat // search widget. onView(withId(R.id.search_src_text)) .perform(typeText("00.08.053\n"), closeSoftKeyboard()); Thread.sleep(500); onView(withText("00.08.053, Seminarraum")) .check(matches(isDisplayed())); } }