对象搜索—文本与描述

一、文本属性定位对象:

返回值 API 描述
UiSelector test(String text) 文本完全匹配
UiSelector testContains(String text) 文本包含匹配
UiSelector textMatches(String regex) 文本正则匹配
UiSelector textStartsWith(String text) 文本起始匹配

二、描述属性定位对象:

返回值 API 描述
UiSelector description(String desc) 描述完全匹配
UiSelector descriptionContains(String desc) 描述包含匹配
UiSelector descriptionMatches(String regex) 描述正则匹配
UiSelector descriptionStartsWith(String desc) 描述开始字符匹配

三、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.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="testText";
androidId="1";
new UiAutomatorHelper(jarName, testClass, testName, androidId);
} public void testText() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(2000); UiSelector l1=new UiSelector().text("People");
UiObject people1=new UiObject(l1);
people1.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l2=new UiSelector().textContains("ople");
UiObject people2=new UiObject(l2);
people2.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l3=new UiSelector().textMatches(".*opl.*");
UiObject people3=new UiObject(l3);
people3.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l4=new UiSelector().textStartsWith("peo");
UiObject people4=new UiObject(l4);
people4.click();
sleep(2000); UiDevice.getInstance().pressBack(); } public void testDescription() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(2000); UiSelector l1=new UiSelector().description("Apps");
UiObject desc1=new UiObject(l1);
desc1.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l2=new UiSelector().descriptionContains("pp");
UiObject desc2=new UiObject(l2);
desc2.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l3=new UiSelector().descriptionMatches(".*pp.*");
UiObject desc3=new UiObject(l3);
desc3.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); UiSelector l4=new UiSelector().descriptionStartsWith("Ap");
UiObject desc4=new UiObject(l4);
desc4.click();
sleep(2000); 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 calssName(String className) 完整类名匹配 UiSelector calssNameM ...

  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. hadoop提交作业自定义排序和分组

    现有数据如下: 3 3 3 2 3 1 2 2 2 1 1 1 要求为: 先按第一列从小到大排序,如果第一列相同,按第二列从小到大排序 如果是hadoop默认的排序方式,只能比较key,也就是第一列, ...

  2. asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程

    在开发一个Web程序的时候用到了网购这个功能,上来分享并记录一下,以便以后忘记了可以自己看看(电脑东西太多,笔记都不知道放哪里去了啊啊啊啊啊!!!) 没有什么高并发量,什么什么技术理论,只是一个最最基 ...

  3. Selenium用法示例

    收录待用,修改转载已取得腾讯云授权 前言 在上一节我们学习了PhantomJS 的基本用法,归根结底它是一个没有界面的浏览器,而且运行的是 JavaScript 脚本,然而这就能写爬虫了吗?这又和Py ...

  4. spring的jar包maven地址,统一下载很方便

    最近spring的官网改版了,想下个jar包,还得maven什么的,由于急于开发,懒得整那些个啦,在网上找了个spring的各版本的jar包地址,特此共享下: http://maven.springf ...

  5. mui.fire() 和 mui.trigger()

    导读:添加自定义事件监听操作和标准js事件监听类似,可直接通过window对象添加,通过mui.fire()方法可触发目标窗口的自定义事件 监听自定义事件 添加自定义事件监听操作和标准js事件监听类似 ...

  6. OpenERP7.0 忘记admin管理员密码解决办法

    操作环境:linux Ubuntu12.10  OpenERP7.0 以下操作,请注意大小写 切换用户 root@ubuntu:~# su - postgres 查看数据库 postgres@ubun ...

  7. poj 3592 Instantaneous Transference 【SCC +缩点 + SPFA】

    Instantaneous Transference Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 6204   Accep ...

  8. NSDate相差8小时

     NSDate *date = [NSDate date]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = ...

  9. Docker的Jenkins Pipeline工作流

    原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...

  10. HTML5事件-自定义右键菜单

    WEB领域中,为实现上下文菜单,开发人员面临的主要问题是如何确定应该显示这个上下文菜单(Windows 中,右键单击:Mac 中,Ctrl+单击), 以及如何屏蔽与该操作相关联的默认上下文菜单. 解决 ...