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
  • 相关阅读:
    JQuery判断CheckBox是否选中
    Ghost下的gho镜像分区工具
    JQuery提示$(...).on is not a function解决方法
    Jetty错误: badMessage: java.lang.IllegalStateException: too much data after closed for HttpChannelOverHttp@472adad9{r=2,c=false,a=IDLE,uri=}
    Linux下使用Shell过滤重复文本(转)
    JQuery给动态HTML绑定事件
    Chrome插件在页面上直接绑定JavaScript事件提示Refused to execute inline event handler because it violates the following Co
    解决——》java.lang.IllegalArgumentException: Body parameter 0 was null
    qhclass
    java类uuid源码分析
  • 原文地址:https://www.cnblogs.com/fsw-blog/p/4597818.html
Copyright © 2011-2022 走看看