La mia app ricarica i dati quando un down-swipe viene eseguito su un SwipeRefreshLayout
. Ora cerco di testare questo con Test Kit Android/Espresso in questo modo:Espresso: come testare SwipeRefreshLayout?
onView(withId(R.id.my_refresh_layout)).perform(swipeDown());
Purtroppo questo non riesce con
android.support.test.espresso.PerformException: Error performing 'fast swipe'
on view 'with id: my.app.package:id/my_refresh_layout'.
...
Caused by: java.lang.RuntimeException: 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.
Target view: "SwipeRefreshLayout{id=2131689751, res-name=my_refresh_layout, visibility=VISIBLE,
width=480, height=672, has-focus=false, has-focusable=true, has-window-focus=true,
is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false,
is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0,
child-count=2}"
Naturalmente, il layout è visibile e strisciata manualmente funziona, ma io sono sicuro se sto facendo qualcosa di sbagliato? Il layout si estende su tutto lo schermo, quindi è davvero possibile per Espresso per fare qualche azione su di esso.