android - UiAutomator 2.0 相当于 scrollIntoView

标签 android android-testing android-uiautomator

我开始在我正在从事的项目中使用 UiAutomator,并希望开始使用最新最好的 UiAutomator 2.0。我知道在 UiAutomator 的早期版本中,您可以滚动列表来搜索如下项目:

device.findObject(new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("Search Text")));

虽然这在最新版本的库中是可能的,但它已被弃用。我想使用库中未弃用的部分来完成此操作。我广泛地搜索了示例,但一直找不到任何内容。

总结一下我想要的,我想使用 device.findObject(By.scrollable(true)).

最佳答案

您可以使用 getChildByText

UiObject **getChildByText** (UiSelector childPattern, 
                String text, 
                boolean allowScrollSearch)

在当前可滚动容器中搜索子元素。搜索首先查找与您提供的选择器相匹配的子元素,然后查找其子元素中的文本。如果两个搜索条件都满足,则该方法返回一个 {@link UiObject} 表示与选择器匹配的元素(而不是其子层次结构中包含文本的子元素)。

您可以在 https://developer.android.com/reference/android/support/test/uiautomator/UiScrollable.html 上找到其他方法

关于android - UiAutomator 2.0 相当于 scrollIntoView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36365747/

相关文章:

android - 如何指定比 textAppearanceSmall 更小的字体?

android - 蓝牙低功耗通知间隔

android - 由于 'java.lang.IllegalAccessError',检测运行失败。 Gradle + Espresso

Android - Uiautomatorviewer - 如何使用 Uiautomatorviewer 查看 uiautomator 转储 view.xml 文件?

Android - 测试谷歌地图信息窗口点击

java - 用于压缩文件的 uidevice takescreenshot 选项不起作用

android - Flutter : RangeError (index) when building a Row inside a listView

android - 用于拔下耳机的 BroadcastReceiver

android - 使用 Robolectric 更改配置

android - 无法让 Robotium 在 Android Studio 中工作