之前使用 appium 中的 scrollTo 的功能感觉挺好用的,查看不在当前屏的元素,但在 Macaca 中就没有这个功能,去查看 appium 的源码发现,是调用 uiautomator 的 UiScrollable
源码是这样的
UiScrollable scrollView = new UiScrollable(new UiSelector().className("android.widget" +
".ScrollView"));
UiObject itemApps = scrollView.getChildByText(new UiSelector().className("android.widget" +
".TextView"),"Apps");
itemApps.click();
而考虑 appium 中的是使用
public RequiredElementType scrollTo(String text) {
String uiScrollables = UiScrollable("new UiSelector().descriptionContains(\"" + text + "\")") +
UiScrollable("new UiSelector().textContains(\"" + text + "\")");
return findElementByAndroidUIAutomator(uiScrollables);
}
所以建议下把 UIAutomator 的接口开放下,然后,熟悉一点的同学就可以会用 new Uixxx 之类的尝试做一些比较实用的高级功能了。