Meine App lädt Daten neu, wenn ein Down-Swipe auf einer SwipeRefreshLayout
ausgeführt wird. Jetzt versuche ich, dies zu testen, mit Android-Testkit/Espresso wie folgt aus:Espresso: Wie SwipeRefreshLayout testen?
onView(withId(R.id.my_refresh_layout)).perform(swipeDown());
Leider ist dieser mit
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}"
Natürlich scheitert, ist das Layout sichtbar und manuell arbeitet klauen, aber ich bin nicht sicher wenn ich etwas falsch mache? Das Layout erstreckt sich über den gesamten Bildschirm, so dass es wirklich möglich sein sollte, damit Espresso etwas dagegen tun kann.