概要
UiScrollable类介绍
快速滚动
获取列表子元素
获取设置最大滚动次数常量值
滚动区域校准常量设置与获取
向前与向后滚动
滚动到某个对象
设置滚动方向
UiScrollable类说明
1.UiScrollable是UiCollection的子类
2.UiScrollable专门处理滚动事件,提供
各种滚动方法。
3. 向前滚动
向后滚动
快速滚动
滚动到某个对象
设置滚动方向
设置滚动次数
快速滚动
代码演示:
//快速滚动demo
public void tesFling() throws UiObjectNotFoundException{
//获取到父类对象
UiScrollable uis = new UiScrollable(new UiSelector()
.className("android.widget.ListView"));
//快速向下滚动一次
//uis.flingBackward();
//快速向上滚动一次
//uis.flingForward();
/*快速滚动到开始位置,默认的步长是5
* maxSwipes 滚动的次数
* 注:flingToBeginning,可以自动判断是否到达顶部,
* 到达后程序自动停止
* */
//快速滚动到最底部
flingToBeginning(int maxSwipes);自定义扫动次数以步长为5快速滑动到开启
//快速滚动到顶部
//uis.flingForward(int maxSwipes);
}
获取列表子元素
演示代码
/**
* 获取列表子元素
* @throws UiObjectNotFoundException
* */
//通过text找
public void testGetChild() throws UiObjectNotFoundException{
UiScrollable uis = new UiScrollable(new UiSelector()
.className("android.widget.ListView"));
//子元素对象
UiSelector childPattern = new UiSelector().className
("android.widget.TextView");
//筛选条件 通过text值筛选
String text ="妇科在线";
/**
* childPattern 类型是UiSelectour
* text 子元素 text值
* allowScrollSearch 是否滚动,true或false
*
* 不添加 allowScrollSearch参数 默认是滚动
* */
UiObject childByText = uis.getChildByText(childPattern, text, true);
//通过子类下标找子类 但,此功能不具备滚动功能也就是只能找当前页面的
//uis.getChildByInstance(childPattern, 5);
//测试是否找到 点击
childByText.click();
}
获取与设置最大滚动次数常量值
代码演示
/*
* 获取与设置最大滚动次数常量值
* */
public void testSwipCount() throws UiObjectNotFoundException{
UiScrollable uis = new UiScrollable(new UiSelector().
className("android.widget.ListView"));
//要查找的子类对象
UiSelector childPattern =new UiSelector().className
("android.widget.LinearLayout");
UiObject ob = uis.getChildByInstance(childPattern, 9);
//设置最大滚动次数,默认是30
uis.setMaxSearchSwipes(60);
//滚动到需要找到对象的地方
//boolean scrollIntoView = uis.scrollIntoView(ob);
//获取最大滚动次数
System.out.println(uis.getMaxSearchSwipes());
//测试点击
ob.click();
}
ps:如何结束脚本进程
1.adb shell ps | find "uiautomator"
2.adb shell kill 进程号
滑动区域校准常量设置与获取
代码演示
/*
* 滑动区域校准常量设置与获取
* DeadZoon(盲区) 不滑动的区域
* */
public void testDeadZoon() throws UiObjectNotFoundException{
UiScrollable uis = new UiScrollable(new UiSelector().
className("android.widget.ListView"));
double sdz= uis.
getSwipeDeadZonePercentage();
System.out.println("不滑动区域的百分比:"+sdz);
/**
* 设置不滑动区域的大小百分比
* */
uis.setSwipeDeadZonePercentage(0.50);
//测试 向上滑动
uis.scrollForward();
}
向前与向后滚动
设置滚动方向
引用别人的写的笔记
http://www.51testing.com/html/75/534775-863836.html