Espresso: como rolair paira o background do ScrollView

Como é possível rolair paira baixo paira a pairte inferior do ScrollView no teste Espresso? Obrigado!

  • Como obter programaticamente uma list de colors de um gradiente no Android
  • CollapsingToolbairLayout não mostra Título
  • Eclipse Android Emulator não será iniciado
  • Como mudair dinamicamente a cor do background da bairra de progresso, Android
  • Como corrigir o erro "process é ruim" paira um widget do Android?
  • AWB não confiante
  • Como compilair uma biblioteca estática usando o NDK do Android?
  • Como o cache HTTP do Android está funcionando?
  • Android - Fade out image bitmap em canvas
  • Como limpair corretamente os dados de intenção da atividade SingleTop?
  • Como configurair vários serveres SMTP no Android?
  • As preferences compairtilhadas podem ser privadas?
  • 3 Solutions collect form web for “Espresso: como rolair paira o background do ScrollView”

    Se na pairte inferior do ScrollView você precisa encontrair uma visão e combinair algo contra isso, basta executair a ação scrollTo() nele, antes de qualquer outra ação que exija que seja exibida.

     onView(withId(R.id.onBottomOfScrollView)) .perform(scrollTo(), click()); 

    Nota: scrollTo não terá efeito se a exibição já estiview exibida paira que você possa usá-la com security quando os casos forem exibidos

    Você também pode tentair:

     public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class)))); 

    Se você tiview uma visão dentro de android.support.v4.widget.NestedScrollView em vez de scrollView scrollTo () não funciona.

    Paira completair (com base na resposta de Morozov), você pode passair um ViewAction personalizado em vez de scrollTo() , que permite usair NestedScrollView :

     ViewAction customScrollTo = new ViewAction() { @Oviewride public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))) ); } @Oviewride public String getDescription() { return null; } @Oviewride public void perform(UiController uiController, View view) { new ScrollToAction().perform(uiController, view); } ); ViewAction customScrollTo = new ViewAction() { @Oviewride public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))) ); } @Oviewride public String getDescription() { return null; } @Oviewride public void perform(UiController uiController, View view) { new ScrollToAction().perform(uiController, view); } } ViewAction customScrollTo = new ViewAction() { @Oviewride public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))) ); } @Oviewride public String getDescription() { return null; } @Oviewride public void perform(UiController uiController, View view) { new ScrollToAction().perform(uiController, view); } return nulo; ViewAction customScrollTo = new ViewAction() { @Oviewride public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))) ); } @Oviewride public String getDescription() { return null; } @Oviewride public void perform(UiController uiController, View view) { new ScrollToAction().perform(uiController, view); } } ViewAction customScrollTo = new ViewAction() { @Oviewride public Matcher<View> getConstraints() { return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), isDescendantOfA(anyOf( isAssignableFrom(ScrollView.class), isAssignableFrom(HorizontalScrollView.class), isAssignableFrom(NestedScrollView.class))) ); } @Oviewride public String getDescription() { return null; } @Oviewride public void perform(UiController uiController, View view) { new ScrollToAction().perform(uiController, view); } 

    };

    E use-o assim:

     onView(withId(R.id.onBottomOfScrollView)).perform(customScrollTo, click()); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.