我开始在我正在开发的项目中使用UiAutomator,并希望开始使用最新最好的UiAutomator 2.0。我知道在早期版本的UiAutomator中你可以滚动搜索一个列表,如下所示:
device.findObject(new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("Search Text")));
尽管在最新版本的库中可以实现,但不推荐使用它。我想使用库中未弃用的部分来实现这一目标。我已经搜索了很多范例,并且找不到任何东西。
总结一下我想要的内容,我希望使用scrollIntoView
的结果执行与device.findObject(By.scrollable(true))
(文档here)类似的操作。
答案 0 :(得分:1)
您可以使用getChildByText
UiObject getChildByText (UiSelector childPattern, 字符串文字, boolean allowScrollSearch)
在当前可滚动容器中搜索子元素。搜索首先查找与您提供的选择器匹配的子元素,然后在其子元素中查找文本。如果两个搜索条件都满足,则该方法返回一个{@ link UiObject},表示与选择器匹配的元素(不是包含文本的子层次结构中的子元素)。
您可以在https://developer.android.com/reference/android/support/test/uiautomator/UiScrollable.html
上找到其他方法答案 1 :(得分:0)
scrollObject.getChildByText(“搜索文字”);
如果文本对象不在视图中,则此命令会自动滚动到您的文本对象。