滑动到某个对象

一、滑动到某个对象相关API

返回值 API 描述
boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕中央
boolean scrollIntoView(UiObject obj) 滑动到对象所在位置,并且尽量让其居于屏幕中央
boolean scrollTextIntoView(String text) 滑动到文本对象所在位置,并且尽量让其居于屏幕中央
boolean scrollDescriptionIntoView(String text) 滑动到文本描述对象所在位置,并且尽量让其居于屏幕中央
boolean scrollToBeginning(int maxSwipes) 自定义扫动次数,滑动到开始位置
boolean scrollToBeginning(int maxSwipes, int steps) 自定义扫动次数与步长,滑动到开始位置
boolean scrollToEnd(int maxSwipes) 自定义扫动次数,滑动到结束位置
boolean scrollToEnd(int maxSwipes, int steps) 自定义扫动次数与步长,滑动到结束位置

说明:所有函数都是先在当前界面查找是否有要找的对象,没找到则先向上滑动指定的扫动次数,然后再向下滑动的同时查找有没有这个对象,但也仅向下滑动指定的扫动次数,找不到则会报错。

二、相关API应用举例

package com.testuiselector;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiScrollable;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Demo extends UiAutomatorTestCase { /**
* @param args
*/
public static void main(String[] args) { String jarName, testClass, testName, androidId;
jarName="demo2";
testClass="com.testuiselector.Demo";
testName="testScrollIntoView";
androidId="1";
new UiAutomatorHelper(jarName, testClass, testName, androidId); } public void testScrollIntoView() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(1000); UiObject people=new UiObject(new UiSelector().text("People"));
people.click();
sleep(2000); UiScrollable scroll=new UiScrollable(new UiSelector().className("android.widget.ListView")); scroll.scrollToBeginning(50);
sleep(3000); UiSelector testview=new UiSelector().text("test");
scroll.scrollIntoView(testview);
sleep(3000); scroll.scrollToBeginning(50, 5);
sleep(3000); UiObject test=new UiObject(testview);
scroll.scrollIntoView(test);
sleep(3000); scroll.scrollToEnd(50);
sleep(3000); scroll.scrollTextIntoView("test");
sleep(3000); scroll.scrollToEnd(50,5);
sleep(3000); scroll.scrollDescriptionIntoView("Quick contact for test"); } }

Demo.java

最新文章

  1. iis最大工作进程数
  2. 【CLR in c#】事件
  3. [转]Python学习资料和教程pdf
  4. 在ubuntu上搭建turnserver
  5. hdu1722 bjfu1258 辗转相除法
  6. jeewx的使用_01 接入和验证
  7. oracle:变长数组varray,嵌套表,集合
  8. javascript 原生 cookie 处理
  9. Swift - 初始化方法返回nil表示初始化失败
  10. TypeScript 学习三 类
  11. 由于用mpu6050模块,所以要用上i2c通信原理。
  12. thinkphp 5 前台格式化输出日期
  13. python笔记---@classmethod @staticmethod
  14. Android编程学习过程中遇到的错误以及解决办法
  15. AJAX的一些基础和AJAX的状态
  16. MySQL查询优化之explain详解
  17. c语言 判断文件是否存在
  18. MAPREDUCE框架结构及核心运行机制
  19. hdu5716
  20. SQLite内存数据库操作类

热门文章

  1. VC版DoEvents
  2. 使用TestFlight邀请外部人员測试APP
  3. Mysql中的算术运算符详解
  4. mysql多实例安装详解
  5. [Objective C]super dealloc 调用时机
  6. 【C语言】18-变量类型
  7. element UI 的学习一,路由跳转
  8. malloc,我误解你了
  9. Android——配置环境变量
  10. Linux crontab 实现每秒执行