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
Android无线测试之—UiAutomator UiSelector API介绍之七的更多相关文章
- Android无线测试之—UiAutomator UiSelector API介绍之一
一. UiSelector类介绍: 1) UiSelector类说明: UiSelector代表一种搜索条件,可以在当前界面上查询和获取特定元素的句柄,当找到多余一个的匹配元素,则返回布局层次结构上第 ...
- Android无线测试之—UiAutomator UiSelector API介绍之六
对象搜索—类名与包名 一.类名属性定位对象 返回值 API 描述 UiSelector calssName(String className) 完整类名匹配 UiSelector calssNameM ...
- Android无线测试之—UiAutomator UiSelector API介绍之五
对象搜索—文本与描述 一.文本属性定位对象: 返回值 API 描述 UiSelector test(String text) 文本完全匹配 UiSelector testContains(String ...
- Android无线测试之—UiAutomator UiSelector API介绍之四
四种匹配关系介绍 一.四种匹配关系介绍: 二.举例: 匹配字符串 0123456789 1.完全匹配: 0123456789 2.包含匹配: 45678.456.678 3.正则匹配: \d{10 ...
- Android无线测试之—UiAutomator UiSelector API介绍之八
对象搜索—特殊属性.节点与资源ID 一.特殊属性定位对象相关API 返回值 API 描述 UiSelector checkableboolean val) 是否可选择,一般开关组件上具有checkab ...
- Android无线测试之—UiAutomator UiSelector API介绍之三
节点关系介绍 每一个布局文件都是一个严格的层次结构布局文件,只有对层次结构非常的了解,才能更好的搜索定位我们需要的主键元素 一.XML文档节点关系介绍 备注:查看节点关系主要使用UiAutomatro ...
- Android无线测试之—UiAutomator UiSelector API介绍之二
Android的布局与组件及组件属性介绍 一.布局: 1)线性布局:控价在线性方向上一次排列 2)表格布局:向表格一样有标准的行和列 3)相对布局:通过相对定位的方式让控件出现在布局的任何位置 4)帧 ...
- Android无线测试之—UiAutomator UiScrollable API介绍三
获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...
- Android无线测试之—UiAutomator UiCollection API介绍
UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...
随机推荐
- [Spring boot] A quick REST API Guide
Controller: Code below shows a basic Controller to handle GET, POST; DELETE, PUT requests. package h ...
- 恼人的The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved...错误,无奈用Struts的bean:write替代了JSTL的C:out
一个应用中有两个页面使用了JSTL的c:out输出,就类似这么简单三句 <c:if test="${!empty error}"> <h2>&l ...
- Unity3d 嵌入GoogleMap
原地址“http://cl314413.blog.163.com/blog/static/190507976201442371753142/ 新建工程导入Google Maps for Unity包 ...
- <LeetCode OJ> 328. Odd Even Linked List
328. Odd Even Linked List Total Accepted: 9271 Total Submissions: 24497 Difficulty: Easy Given a sin ...
- Jersey 1.18 API文档
Jersey 1.18 API文档 我自己制作了Jersey 1.18 API CHM文档, 下载地址见: http://download.csdn.net/detail/chszs/7334869 ...
- jQuery unbind() 方法
jQuery 中的 unbind() 方法是 bind() 方法的反向操作,从每一个匹配的元素中删除绑定的事件. 语法结构: unbind([type][, data]); type是事件类型,dat ...
- Node.js进阶篇-koa、钩子函数、websocket、嵌入式开发
代码地址如下:http://www.demodashi.com/demo/12932.html 一.简介 koa是由Express原班人马打造的,致力于成为一个更小.更富有表现力.更健壮的We ...
- 放大的X 【杭电-2655】 附题
/* 放大的X Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- Error: [vuex] vuex requires a Promise polyfill in this browser. 与 babel-polyfill 的问题
Error: [vuex] vuex requires a Promise polyfill in this browser. 与 babel-polyfill 的问题 采用最笨重的解决方案就是npm ...
- ZOJ 1364 Machine Schedule(二分图最大匹配)
题意 机器调度问题 有两个机器A,B A有n种工作模式0...n-1 B有m种工作模式0...m-1 然后又k个任务要做 每一个任务能够用A机器的模式i或b机器的模式j来完毕 机器開始都处于模式0 每 ...