• 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
  • 相关阅读:
    转义将正文中换行符
    THINKPHP短链接设置方法(路由设置)
    MEMCACHE分布式算法(PHP)
    win7下memCache安装过程
    JQUERY根据值将input控件选中!
    Thinkphp CURD中的where方法
    SQL语法LPAD和RPAD
    Linux查看docker容器日志
    Linux中清空docker容器日志
    错误记录——fail: Microsoft.AspNetCore.Server.Kestrel[13]
  • 原文地址:https://www.cnblogs.com/fsw-blog/p/4556497.html
Copyright © 2020-2023  润新知