Я пытаюсь нажать на кнопку в диалоге с эспрессо. На высоком экране отображается кнопка, и это нормально. На меньшем экране, даже если я проведу пальцем вверх и появится кнопка, щелчок не удастся:
Action will not be performed because the target view does not match one or more of the following constraints:
at least 90 percent of the view's area is displayed to the user.
Вот соответствующий код:
swipeUp(R.id.scroll);
onView(withText("OK"))
.inRoot(isDialog())
.check(matches(isDisplayed()))
.perform(click());
Я поставил точку останова после удара и сделал снимок экрана:
Как видите, кнопка полностью видна. Я пытался сопоставить кнопку различными способами:
onView(withText("Ok")
onView(withText("ok")
onView(withText("OK"))
.inRoot(isDialog())
.check(matches(isDisplayed()));
Вот что написал тестовый регистратор:
onView(
allOf(withId(android.R.id.button1), withText("OK"),
childAtPosition(
childAtPosition(
withClassName(is("android.widget.ScrollView")),
0),
3)));
Я также пытался просто использовать pressBack (), но это не закрывает диалог.