UiAutomator笔记之UiScrollable API(六)

来源:互联网 发布:网络专供电器 编辑:程序博客网 时间:2024/05/22 12:10

一、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(); //水平方向往前滚动


 

0 0
原创粉丝点击