0
私はエスプレッソでを呼び出し、に戻り、Views
に戻る前に動作が設定されているMainActivity
に行くというテストを作成しています。しかし、問題は、スワイプを呼び出した後、R.id.mode_text
で2番目に検査された行を指すNoActivityResumedException
が得られることです。エスプレッソのアクティビティ間でスワイプをテストする方法は?
@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());
...
}
}
私は同じ問題を抱えていました。これは私のデバイスの画面がオフになったときに起こります。あなたのデバイスの画面はオンですか?また、スワイプが完了するまで待つために、スワイプが終わるたびに500ms待つ必要があります。それが役に立てば幸い。 – jeprubio
デバイスの画面は常にオンで、ロックが解除されています。スワイプを呼び出すと、同じことをするボタンが押され、エラーが発生します。最初のスワイプの後に 'Thread.sleep(1500)'を追加しようとしましたが、 'RuntimeException::アクティビティが見つかりませんでした。 getActivity()やstartActivitySyncなどを呼び出してアクティビティを起動することを忘れましたか? –