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

获取列表子元素

一、相关API介绍

返回值 API 描述
UiObject getChildByDescription(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本描述条件查找对象
UiObject getChildByDescription(UiSelector childPattern, String text) 默认滚动获取具备UiSelector条件元素集合后再以文本描述条件查找对象
UiObject getChildByInstance(UiSelector childPattern, int instance) 获取具备UiSelector条件的子集,再从子集中按照实例筛选想要的元素(不滚动)
UiObject getChildByText(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本条件查找对象
UiObject getChildByText(UiSelector childPattern, String text) 默认滚动获取具备UiSelector条件元素集合后再以文本条件查找对象

二、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="testScrollGetChild";
        androidId="1";
        new UiAutomatorHelper(jarName, testClass, testName, androidId);

    }

    public void testScrollGetChild() throws UiObjectNotFoundException{
        UiDevice.getInstance().pressHome();
        sleep(1000);

        UiObject people=new UiObject(new UiSelector().text("People"));
        people.clickAndWaitForNewWindow();

        UiScrollable scroll=new UiScrollable(new UiSelector().className("android.widget.ListView"));

        //指定可以滚动查找子元素,可以成功找到在任何页中的电话信息
        UiObject H=scroll.getChildByText(new UiSelector().className("android.widget.TextView"), "H", true);
        H.click();

        //指定不可以滚动查找子元素,如果查找的电话信息不在第一页,会报错
        UiObject J=scroll.getChildByText(new UiSelector().className("android.widget.TextView"), "J", false);
        J.click();

        //getChildByInstance,不可以滚动,因此查找非第一页的电话信息会报错
        UiObject someone=scroll.getChildByInstance(new UiSelector().className("android.widget.TextView"), 20);
        someone.click();
    }

}

Demo.java

二、相关API应用举例

时间: 2024-10-11 18:09:20

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

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 描述 double getSwipeDeadZonePercentage() 获取无接触区百分比的值,默认常量值为0.1,即10% UiScrollable setSwipeDeadZonePercentage(double swipeDeadZonePercentage) 设置一个部件的大小,在滑动时,视为无接触区的百分比. 三.API应用举例 package co

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 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕中央 boolean scrollIntoView(UiObject obj) 滑动到对象所在位置,并且尽量让其居于屏幕中央 boolean scrollTextIntoView(String text) 滑动到文本对象所在位置,并且尽量让其居于屏幕中央 boolean scrollDescript

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)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐标永远为(0,0) 二.坐标相关API: 返回值 方法名 描述 boolean click(int x, int y) 使用坐标点击屏幕 int getDisplayHeight() 获取屏幕高度 Point getDisplaySizeDP() 获取显示尺寸返回显示大小(设备独立像素) 屏幕旋转返

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

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

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

手势操作 1.手势相关操作 2.相关API介绍 返回值 API 描述 boolean performMultiPointerGesture(PointerCoords[]... touches) 执行单手触控手势,可定义任意手势与形状 boolean performTwoPointerGesture(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps) 执行任意两个手指触控手势,模拟两