у меня есть три вида деятельности в моем приложенииAndroid Эспрессо функциональные тесты с фрагментами
- Войти активность
- Основной деятельность
- Детали деятельность
Я хочу использовать эспрессо, чтобы проверить последовательность событий: нажмите кнопку входа в систему для входа в систему, которая откроет основное действие, а затем щелкните элемент списка в основном действии, который откроет подробную активность, а затем нажмите другую кнопку в подробном действии. Я начал с создания простой тест, чтобы получить ссылку на ListView:
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {
public LoginActivityTest() {
super(LoginActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
getActivity();
}
public void testSequence() throws Exception {
// Login
onView(withId(R.id.button_log_in)).perform(click());
// Check if MainActivity is loaded
onView(withId(R.id.container)).check(matches(isDisplayed()));
// Check if Fragment is loaded
onView(withId(R.id.list)).check(matches(isDisplayed()));
}
}
На mainActivityonCreate()
метод я загружал фрагмент так:
getFragmentManager().beginTransaction()
.add(R.id.container, mListFragment)
.commit();
ListFragment фрагмент имеет (R.id.list
), но все же испытание не выполнено с использованием NoMatchingViewException
:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.tests.android.development:id/list
Что я делаю неправильно?
Вы нашли решение этого? – AdamMc331
Если вы по-прежнему ищете помощь в этом, пожалуйста, покажите полный код 'onCreate()', который связан с этим вопросом. В частности, покажите декларацию и инициализацию для 'mListFragment'. Также покажите XML-макет для «ListFragment». –