对象搜索—类名与包名

一、类名属性定位对象

返回值 API 描述
UiSelector calssName(String className) 完整类名匹配
UiSelector calssNameMatches(String regex) 正则类名匹配

搜索条件的快速书写方式

1)组件名字.class.getName方式

2)完整类名方式:android.widget.LinearLayout

3)正则方式

4)常量方式

二、包名属性定位对象

返回值 API 描述
UiSelector packageName(String name) 包名完整匹配
UiSelector packageNameMatches(String name) 正则包名匹配

注意:使用包名对象一般用来获取的是点击的父类的第一个子元素

三、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="testClassAndPackage";
androidId="1";
new UiAutomatorHelper(jarName, testClass, testName, androidId);
} public void testClassAndPackage() 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(); } }

Demo1.java

Android无线测试之—UiAutomator UiSelector API介绍之六的更多相关文章

  1. Android无线测试之—UiAutomator UiSelector API介绍之一

    一. UiSelector类介绍: 1) UiSelector类说明: UiSelector代表一种搜索条件,可以在当前界面上查询和获取特定元素的句柄,当找到多余一个的匹配元素,则返回布局层次结构上第 ...

  2. Android无线测试之—UiAutomator UiSelector API介绍之七

    对象搜索—索引与实例 一.索引与实例说明: 1)index:在同一级中的编号,在兄弟类中组件的编号,index从0开始 2)instance:同一个布局中同一类组件的编号,instance从0开始 二 ...

  3. Android无线测试之—UiAutomator UiSelector API介绍之五

    对象搜索—文本与描述 一.文本属性定位对象: 返回值 API 描述 UiSelector test(String text) 文本完全匹配 UiSelector testContains(String ...

  4. Android无线测试之—UiAutomator UiSelector API介绍之四

    四种匹配关系介绍 一.四种匹配关系介绍: 二.举例: 匹配字符串   0123456789 1.完全匹配: 0123456789 2.包含匹配: 45678.456.678 3.正则匹配: \d{10 ...

  5. Android无线测试之—UiAutomator UiSelector API介绍之八

    对象搜索—特殊属性.节点与资源ID 一.特殊属性定位对象相关API 返回值 API 描述 UiSelector checkableboolean val) 是否可选择,一般开关组件上具有checkab ...

  6. Android无线测试之—UiAutomator UiSelector API介绍之三

    节点关系介绍 每一个布局文件都是一个严格的层次结构布局文件,只有对层次结构非常的了解,才能更好的搜索定位我们需要的主键元素 一.XML文档节点关系介绍 备注:查看节点关系主要使用UiAutomatro ...

  7. Android无线测试之—UiAutomator UiSelector API介绍之二

    Android的布局与组件及组件属性介绍 一.布局: 1)线性布局:控价在线性方向上一次排列 2)表格布局:向表格一样有标准的行和列 3)相对布局:通过相对定位的方式让控件出现在布局的任何位置 4)帧 ...

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

    获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...

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

    UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...

随机推荐

  1. subscription group permisson

  2. 【Android】The application has stopped unexpectedly.Please try again.

    打出的android APK在android4.0.2手机上运行正常,但是在2.3.7的MOTO DEFY ME525上运行失败. android 2.3.3版本的模拟器上面运行失败: Sorry! ...

  3. 记录一个奇妙的Bug, -1 >= 2 ?

    直接上代码: #include <iostream> #include <vector> using namespace std; int main() { vector< ...

  4. HTML5中音频视频标签使用

    HTML5中音频视频标签使用的最好方式 Html5中提供了<audio> <vedio>元素实现音频视频的引入播放 然而更好的方式

  5. lodash random

    _.random([min=0], [max=1], [floating]) 产生一个包括 min 与 max 之间的数. 如果只提供一个参数返回一个0到提供数之间的数. 如果 floating 设为 ...

  6. 对象内部属性[[Class]]

    1.概述 所有的typeof返回值为‘object’的对象都包含一个内部属性[[Class]],我们将它可以看做内部的分类,而非传统面向对象意义的分类.这个属性无法直接访问,一般通过Object.pr ...

  7. pngCanvas 是一个使用纯Python代码的生成png图像的工具

    #!/usr/bin/env python """Simple PNG Canvas for Python - updated for bytearray()" ...

  8. VBA【遍历每个工作表并将工作表表名赋予B2单元格】

    方法一:  存在缺陷:选中所有单元格,批量生成公式时候,每次需要点击进入工作表点击单元格--进入编辑状态,然后公式才会生效 使用公式如下: =,) 附件下载地址:点击下载 方法二: 使用宏编程进行复制 ...

  9. Android五大布局标签和属性总结

    1.LinearLayout orention  水平和垂直 weight     切割闲置空间 水平布局 切割宽度 垂直布局 切割的高度 切割的时候 指定的高度或者宽度不能用fill_parent/ ...

  10. Android源代码解析之(四)--&gt;HandlerThread

    转载请标明出处:一片枫叶的专栏 上一篇文章中我们解说了AsyncTast的基本使用以及实现原理,我们知道AsyncTask内部是通过线程池和Handler实现的.通过对线程池和handler的封装实现 ...