滑动到某个对象

一、滑动到某个对象相关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

Android无线测试之—UiAutomator UiScrollable API介绍七的更多相关文章

  1. Android无线测试之—UiAutomator UiScrollable API介绍三

    获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...

  2. Android无线测试之—UiAutomator UiScrollable API介绍一

    UiScrollable类介绍 一.UiScrollable类说明: 1.UiScrollable是UiCollection的子类,因此它可以使用UiCollection和Uiobject类的所有公共 ...

  3. Android无线测试之—UiAutomator UiScrollable API介绍八

    设置滚动方向 一.设置滚动方向相关API 返回值 API 描述 UiScrollable setAsHorizontalList 设置滚动方向为水平滚动 UiScrollable setAsVerti ...

  4. Android无线测试之—UiAutomator UiScrollable API介绍六

    向前与向后滚动API 一.向前与向后滚动相关API 返回值 API 描述 boolean scrollBackward(int steps) 自动以步长向后滑动 boolean scrollBackw ...

  5. Android无线测试之—UiAutomator UiScrollable API介绍五

    滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentag ...

  6. Android无线测试之—UiAutomator UiScrollable API介绍四

    获取与设置最大滚动次数常量值 一.获取与设置最大滚动次数常量值相关API 返回值 API 描述 int getMaxSearchSwipes() 获取执行搜索滑动过程中的最大滑动次数,默认最大滚动次数 ...

  7. Android无线测试之—UiAutomator UiScrollable API介绍二

    快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...

  8. Android无线测试之—UiAutomator UiObject API介绍七

    判断对象是否存在 1.判断对象是否存在相关API 返回值 API 描述 boolean waitForExists(long timeout) 等待对象出现 boolean waitUntilGone ...

  9. Android无线测试之—UiAutomator UiDevice API介绍七

    截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...

随机推荐

  1. [ASP.NET]使用uploadify上传图片,并在uploadify按钮上生成预览图

    目录 需求 主要代码 总结 需求 项目中有用到uploadify上传插件,给的原型就是上传成功后替换原来的图片.没办法需求在那儿,也不能修改需求吧,只能想办法解决问题了. 主要代码 修改uploadi ...

  2. Android的xml/assets/raw资源使用具体解释

    一.assets/xml/raw资源介绍 1.assets资源文件夹:assets文件夹下存放的资源代表应用无法直接訪问的原生资源,这些文件将原封不动的存储到设备上,不会被编译为二进制形式,訪问方式是 ...

  3. ffff表单提交的那点事

    一.关于application/x-www-form-urlencoded等字符编码的解释说明 在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器 ...

  4. C++之虚析构函数

    代码一. #include <iostream> using namespace std; class Base { public: Base(){}; ~Base() { cout &l ...

  5. 删除节点removeChild()

    http://www.imooc.com/code/1700 删除节点removeChild() removeChild() 方法从子节点列表中删除某个节点.如删除成功,此方法可返回被删除的节点,如失 ...

  6. cf 450c Jzzhu and Chocolate

    Jzzhu and Chocolate time limit per test 1 second memory limit per test 256 megabytes input standard ...

  7. Roslyn介绍

    介绍 一般来说,编译器是一个黑箱,源代码从一端进入,然后箱子中发生一些奇妙的变化,最后从另一端出来目标文件或程序集.编译器施展它们的魔法,它们必须对所处理的代码进行深入的理解,不过相关知识不是每个人都 ...

  8. 基于HTML5 Canvas生成粒子效果的人物头像

    前面我们分享过一个HTML5 Canvas实现的图像马赛克模糊效果,HTML5处理图片真的非常简单.今天我们要再利用HTML5 Canvas实现一个粒子效果的人物头像,你可以任意选择一张头像图片,接下 ...

  9. Android——布局(线性布局linearLayout,表格布局TableLayout,帧布局FrameLayout)

    线性布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi ...

  10. PHP——内测:新闻管理练习题及答案(自己做的)

    试题看文件:1.28练习内测:新闻管理.pdf 数据库为newssystem 表为news 表内容为 fabuxinwen.php <!DOCTYPE html PUBLIC "-// ...