UiScrollable is a UiCollection
and provides support for searching for items in a scrollable user interface (UI) elements. This class can be used with horizontally or vertically scrollable controls.
UiScrollable是一個UiCollection(這東西還沒搞懂),我們可以使用它,在可滑動的頁面(水平滑動或上下滑動都可以)上查找我們想要的控件(item)。
例1:下面的這個scrollClickObject方法就是使用UiScrollable,來自動選擇我們想要點擊的那個控件。
public void scrollClickObject(String targetClassName,String targetName) throws UiObjectNotFoundException { UiScrollable collectionObject = new UiScrollable(new UiSelector().scrollable(true)); if(collectionObject.exists()) { UiObject scrollableObject = collectionObject.getChildByText(new UiSelector().className(targetClassName), targetName); scrollableObject.clickAndWaitForNewWindow(); } else { UiObject targetObject = new UiObject(new UiSelector().className(targetClassName).text(targetName)); targetObject.clickAndWaitForNewWindow(); } }
首先定義一個UiScrollable對象,識別這個對象的唯一條件就是,屏幕上有可滑動的控件。(這里有一個問題,就是如果屏幕上同時存在2個可滑動的控件,就會報錯了)
然后我們判斷這個可滑動對象是否存在
- 存在,則使用getChildByText方法,獲取我們想要點擊的那個控件,然后點擊它
- 不存在,則說明頁面不可滑動,也就是所有控件均已顯示在界面上。那我們就可以直接使用UiObject獲取控件並操作它。
例2: