zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    改进昨天的电梯电梯问题
    电梯调度
    结对开发四---实现环状二维数组求最大子数组的和
    结对开发五--对一千个数long型的一维数组求最大子数组的和
    结对开发四------求一维无头数组最大子数组的和
    结对开发3--电梯调度问题需求分析
    SQL基础题
    类和对象(课后题)
    再战文件(小甲鱼课后题)python超级入门
    快来集合!python超级入门笔记
  • 原文地址:https://www.cnblogs.com/fsw-blog/p/4597818.html
Copyright © 2011-2022 走看看