Я создаю тест в эспрессо, который вызывает swipeRight()
, чтобы перейти к MainActivity
, где поведение задано перед возвратом в ConsumerSettingsActivity
для тестирования Views
. Однако проблема заключается в том, что после вызова салфетки я получаю NoActivityResumedException
, который указывает на вторую тестируемую линию с R.id.mode_text
.Как проверить прохождение между мероприятиями в эспрессо?
@RunWith(AndroidJUnit4.class)
public class ConsumerSettingsActivityTest {
private ConsumerSettingsActivity mConsumerSettingsActivity;
@Rule
public ActivityTestRule<ConsumerSettingsActivity> mActivityTestRule =
new ActivityTestRule<>(ConsumerSettingsActivity.class);
@Before
public void initialize() {
mConsumerSettingsActivity = mActivityTestRule.getActivity();
}
@Test
public void checkCorrectButtonsAreClickableInPhotoModeThenReturnToMainActivity() {
// swipe to MainActivity and set behavior
onView(allOf(withId(R.id.settings_top_bar), isDisplayed())).perform(swipeRight());
onView(withId(R.id.mode_text)).perform(click());
onView(withId(R.id.photo_mode)).perform(click());
// test ratio Views
onView(withId(R.id.ratio_full)).check(matches(isClickable()));
onView(withId(R.id.ratio_full)).perform(click());
onView(withId(R.id.ratio_square)).check(matches(isClickable()));
onView(withId(R.id.ratio_square)).perform(click());
...
}
}
У меня была та же проблема. Это случается со мной, когда экран моего устройства отключен. Включен ли экран вашего устройства? И я также должен ждать 500 мс после каждого салфетки, чтобы подождать, пока салфетка не будет выполнена. Надеюсь, поможет. – jeprubio
Экран устройства всегда включен и разблокирован. Как только я вызываю салфетки, нажата кнопка, которая делает то же самое, и возникает ошибка. Я попытался добавить 'Thread.sleep (1500)' после первого прокрутки, но получить 'RuntimeException:: никаких действий не найдено. Вы забыли запустить эту деятельность, вызвав getActivity() или startActivitySync или аналогичный? ' –