滑动直到元素在 Android Espresso 中可见

Ham*_*ter 2 testing android android-testing android-espresso

我有一个带有数据输入表单的长垂直屏幕。我需要向上滑动(向下滚动)此屏幕,直到屏幕上显示表单的字段之一。我尝试在屏幕上方的元素上使用swipeUp()scrollTo() ViewActions,但这对我没有帮助,因为这些元素在滑动后隐藏在屏幕上。

Hél*_*tin 10

今天惯用的方法是使用RepeatActionUntilViewState. 例如,以下代码将在具有 ID 的元素上向上滑动largeElementId最多 10 次,直到用户看到包含文本“目标文本”的视图:

onView(withId(R.id.largeElementId)).perform(repeatedlyUntil(swipeUp(), 
        hasDescendant(withText("Target text")), 
        10));
Run Code Online (Sandbox Code Playgroud)