1. 程式人生 > >UiAutomator筆記之UiScrollable API(六)

UiAutomator筆記之UiScrollable API(六)

一、UiScrollable簡介

1UiScrollableUiCollection的子類。

2UiScrollable專門處理滾動時間,提供各種滾動方法。

常用功能有:向前滾動、向後滾動、快速滾動、滾動到某個物件、設定滾動方向、設定滾動次數等。

二、API詳細介紹

1、快速滾動

1)相關概念

步長:從一點到另一點使用的時間。步長越短滾動越快,反之步長越長滾動越慢。

掃動次數:觸發滾動的次數。

2)相關API

返回值

API

說明

boolean

flingBackward()

以步長為5快速向後滑動

boolean

flingForward()

以步長為5

快速向前滑動

boolean

flingToBeginning(int maxSwipes)

自定義掃動次數以步長為5快速滑動到開啟

boolean

flingToEnd(int maxSwipes)

自定義掃動次數以步長為5快速滑動到結束

(3)示例

UiScrollable scroll = new UiScrollable(new  UiSelector.className(“android.widget.ListView”));

scroll.flingBackward();

2、獲取列表子元素

1)相關API

返回值

API

UiObject

getChildByDescription(UiSelector childPattern, String text, boolean allowScrollSearch)

是否允許滾動查詢獲取具備Uielector條件元素集合後再以文字描述條件查詢物件

UiObject

getChildByDescription(UiSelector childPattern, String text)

預設滾動獲取具備Uielector條件的元素集合後再以文字描述條件查詢物件

UiObject

getChildByInstance(UiSelector childPattern, int instance)

獲取具備Uielector條件的子集,再從子集中按照例項篩選想要的元素(不滾動)

UiObject

getChildByText(UiSelector childPattern, String text, boolean allowScrollSearch)

是否允許滾動獲取具備Uielector條件的元素集合後再以文字條件查詢物件

UiObject

getChildByText(UiSelector childPattern, String text)

預設滾動獲取具備Uielector條件元素集合後再以文字條件的查詢物件

如:

UiScrollable scroll = new UiScrollable(new  UiSelector.className(“android.widget.ListView”));

UiObject obj = scroll.getChildByText(new  UiSelector.className(“android.widget.TextView”,“號碼1”,true)); //當不滾動查詢,就跟UiCollection效果一樣

3、獲取與設定最大滾動次數常量值

1)相關API

返回值

API

說明

int

getMaxSearchSwipes()

獲取執行搜尋滑動過程中的最大滑動次數,預設常量為30

UiScrollable

setMaxSearchSwipes(int swipes)

設定最大可掃動次數

4、滑動區域校準常量設定與獲取

(1)相關概念

校準常量:指的是滑動操作座標時(起點和終點)的偏移量,即控制元件上不可滑動的區域佔比。

(2)相關API

返回值

API

說明

double

getSwipeDeadZonePercentage()

校準常量預設值為0.1(10%)

UiScrollable

setSwipeDeadZonePercentage(double swipeDeadZonePercentage)

設定控制元件上不可滑動的區域佔比

(3)示例

UiScrollable scroll = new UiScrollable(new  UiSelector.className(“android.widget.ListView”));

scroll.setSwipeDeadZonePercentage(0.15); //設定listview校準常量為0.15,即距離listview頂部15%和底部15%的區域不可滑動,只有控制元件中部70%的區域可滑動。當校準常量設定為0.5時,控制元件的可滑動區域為0,滑動的動作效果將和單擊的效果一樣。

5、向前與向後滾動

(1)相關API

返回值

API

說明

boolean

scrollBackward(int steps)

自定義步長向後滑動

boolean

scrollBackward()

以預設步長55向後滑動

boolean

scrollDescriptionIntoView(String text)

滾動到描述所在位置,並且儘量讓它居於螢幕中央

boolean

scrollForward()

以預設步長55向前滾動

boolean

scrollForward(int steps)

自定義步長向前滾動。

當步長很短(如1)時,滑動效果同單機;當步長很長時,滑動效果同雙擊。

6、滾動到某個物件

1)相關API

返回值

API

說明

boolean

scrollIntoView(UiSelector selector)

滾動到條件元素所在位置,並且儘量讓其居於螢幕中央

boolean

scrollIntoView(UiObject obj)

滾動到物件所在位置,並且儘量讓其居於螢幕中央

boolean

scrollTextIntoView(String text)

滾動到文字物件所在位置,並且儘量讓其居於螢幕中央

boolean

scrollToBeginning(int maxSwipes)

自定義最大滾動次數,滾動到開始位置

boolean

scrollToBeginning(int maxSwipes, int steps)

自定義最大滾動次數與步長,滾動到開始位置

boolean

scrollToEnd(int maxSwipes, int steps)

自定義最大滾動次數與步長,滾動到結束位置

boolean

scrollToEnd(int maxSwipes)

自定義最大滾動次數,滾動到結束位置

(2)示例

UiScrollable scroll = new UiScrollable(new  UiSelector.className(“android.widget.ListView”));

UiSelector selector = new UiSelector().text(“號碼1”);

scroll.scrollIntoView(selector); //滾動到“號碼1

scroll.scrollToEnd(10, 5); //以步長(速率)5滾動到列表底部,最多滾動10次。

7、設定滾動方向

(1)相關概念

 

(2)相關API

返回值

API

說明

UiScrollable

setAsHorizontalList()

設定滾動方向設定為水平滾動

UiScrollable

setAsVerticalList()

設定滾動方向設定為縱向滾動

(3)示例

UiScrollable scroll = new UiScrollable(new  UiSelector.className(“android.support.v4.view.ViewPager”));

scroll.setAsHorizontalList()

scroll.scrollBackward(); //水平方向往回滾動

scroll.scrollForward(); //水平方向往前滾動