Android无线测试之—UiAutomator UiScrollable API介绍七

滑动到某个对象

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

时间: 2024-10-07 17:00:22

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

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

获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本描述条件查找对象 UiObject getChildByDescription(UiSelector childPattern, String text) 默认滚动获取具备UiSele

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

UiScrollable类介绍 一.UiScrollable类说明: 1.UiScrollable是UiCollection的子类,因此它可以使用UiCollection和Uiobject类的所有公共函数 2.UiScrollable专门处理滚动事件,提供各种滚动方式

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

快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean flingBackward() 以步长为5快速向后滑动 boolean filingForward() 以步长为5快速向前滑动 boolean flingToBeginning(int maxSwipes) 自定义扫动次数以步长为5快速滑动到起始 boolean flingToEnd(int max

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

设置滚动方向 一.设置滚动方向相关API 返回值 API 描述 UiScrollable setAsHorizontalList 设置滚动方向为水平滚动 UiScrollable setAsVerticalList 设置滚动反向为纵向滚动 package com.testuiselector; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com

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

滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentage() 获取无接触区百分比的值,默认常量值为0.1,即10% UiScrollable setSwipeDeadZonePercentage(double swipeDeadZonePercentage) 设置一个部件的大小,在滑动时,视为无接触区的百分比. 三.API应用举例 package co

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

获取与设置最大滚动次数常量值 一.获取与设置最大滚动次数常量值相关API 返回值 API 描述 int getMaxSearchSwipes() 获取执行搜索滑动过程中的最大滑动次数,默认最大滚动次数为30 UiScrollable setMaxSearchSwipes(int swipes) 设置最大可滑动次数 二.API应用举例 package com.testuiselector; import com.android.uiautomator.core.UiDevice; import c

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

截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一个文件夹 4)图片格式:图片截图都采用的PNG格式 5)空闲状态:窗口没有更新就是没有动作,界面处于不动状态 6)窗口更新事件:窗口打开的过程就是一个更新事件,打开后不动了就是空闲状态 二.截图相关API: 返回值 方法名 描述 boolean takeScreenShot(File storePa

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

判断对象是否存在 1.判断对象是否存在相关API 返回值 API 描述 boolean waitForExists(long timeout) 等待对象出现 boolean waitUntilGone(long timeout) 等待对象消失 boolean exists() 检查对象是否存在 2.API应用举例 package com.test.uiobject; import java.io.File; import android.graphics.Rect; import android

Android无线测试之—UiAutomator UiCollection API介绍

UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可以使用 2)UiCollection代表元素条目的集合 二.UiCollection功能说明 1)先按照一定的条件枚举出容器类界面所有符合条件的子元素 2)再从符合条件的元素的和集中再次通过一定的条件最终定位需要的组件 三.UiCollection使用场景 1)一般使用容器类组件作为父类 2)一般用