zoukankan      html  css  js  c++  java
  • Android无线测试之—UiAutomator UiSelector API介绍之七

    对象搜索—索引与实例

    一、索引与实例说明:

    1)index:在同一级中的编号,在兄弟类中组件的编号,index从0开始

    2)instance:同一个布局中同一类组件的编号,instance从0开始

    二、索引与实例属性定位对象

     
    返回值 API 描述
    UiSelector index(int index) 索引
    UiSelector instance(int instance) 实例

    三、API应用举例

    package com.testuiselector;
    
    import android.view.View;
    
    import com.android.uiautomator.core.UiDevice;
    import com.android.uiautomator.core.UiObject;
    import com.android.uiautomator.core.UiObjectNotFoundException;
    import com.android.uiautomator.core.UiSelector;
    import com.android.uiautomator.testrunner.UiAutomatorTestCase;
    
    public class Demo1 extends UiAutomatorTestCase {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String jarName, testClass, testName, androidId;
            jarName="demo1";
            testClass="com.testuiselector.Demo1";
            testName="testPackage";
            androidId="1";
            new UiAutomatorHelper(jarName, testClass, testName, androidId);
        }
        
        public void testClass() throws UiObjectNotFoundException{
            UiDevice.getInstance().pressHome();
            sleep(1000);
            
            //完全匹配
            UiSelector l1=new UiSelector().className("android.view.View").instance(3);
            UiObject clock1=new UiObject(l1);
            clock1.click();
            sleep(1000);
            
            UiDevice.getInstance().pressBack();
            sleep(1000);
            
            //正则匹配
            UiSelector l2=new UiSelector().classNameMatches(".*View").instance(4);
            UiObject clock2=new UiObject(l2);
            clock2.click();
            sleep(1000);
            
            UiDevice.getInstance().pressBack();
            sleep(1000);
            
            //class.getName()
            UiSelector l3=new UiSelector().className(View.class.getName()).instance(3);
            UiObject clock3=new UiObject(l3);
            clock3.click();
            sleep(1000);
            
            UiDevice.getInstance().pressBack();
            
        }
        
        public void testPackage() throws UiObjectNotFoundException{
        
            UiDevice.getInstance().pressHome();
            sleep(1000);
            
            UiSelector dl1=new UiSelector().packageName("com.android.deskclock");
            UiObject deskclock1=new UiObject(dl1);
            deskclock1.click();
            sleep(1000);
            
            UiDevice.getInstance().pressBack();
            sleep(1000);
            
            UiSelector dl2=new UiSelector().packageNameMatches(".*deskclock");
            UiObject deskclock2=new UiObject(dl2);
            deskclock2.click();
            
            
        }
    
    }
    Demo1.java
  • 相关阅读:
    session和cookie
    数据库备份
    使用pip安装.whl文件时出现is not a supported wheel on this platform的解决办法
    multiprocessing模块
    threading模块
    python中多线程相关
    python中实现单例模式
    Flask-SQLAlchemy相关与Flask-Migrate相关
    redis模块
    Flask-Login中装饰器@login_manager.user_loader的作用及原理
  • 原文地址:https://www.cnblogs.com/fsw-blog/p/4556497.html
Copyright © 2011-2022 走看看