Возможно, вы могли бы изменить видимость button_group
с помощью пользовательского ViewAction
перед выполнением прокрутки.
Во-первых, вам нужно пользовательское действие ViewAction, которое выполняет изменение видимости:
private static ViewAction setViewVisibitity(final boolean value) {
return new ViewAction() {
@Override
public Matcher<View> getConstraints() {
return null;
}
@Override
public String getDescription() {
return "Show / Hide View";
}
@Override
public void perform(UiController uiController, View view) {
view.setVisibility(value ? View.VISIBLE : View.GONE);
}
};
}
А затем:
onView(withId(R.id.button_group)).perform(setViewVisibitity(false));
onView(withId(R.id.name)).perform(scrollTo(), typeText(name), closeSoftKeyboard());
И позже вы можете восстановить видимость button_group
, когда захотите:
onView(withId(R.id.button_group)).perform(setViewVisibitity(true));
Попробуйте.Поскольку button_group
будет иметь видимость, установленную на GONE
, он не должен мешать прокрутке.