获取列表子元素

一、相关API介绍

返回值 API 描述
UiObject getChildByDescription(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本描述条件查找对象
UiObject getChildByDescription(UiSelector childPattern, String text) 默认滚动获取具备UiSelector条件元素集合后再以文本描述条件查找对象
UiObject getChildByInstance(UiSelector childPattern, int instance) 获取具备UiSelector条件的子集,再从子集中按照实例筛选想要的元素(不滚动)
UiObject getChildByText(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本条件查找对象
UiObject getChildByText(UiSelector childPattern, String text) 默认滚动获取具备UiSelector条件元素集合后再以文本条件查找对象

二、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.UiScrollable;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Demo extends UiAutomatorTestCase { /**
* @param args
*/
public static void main(String[] args) { String jarName, testClass, testName, androidId;
jarName="demo2";
testClass="com.testuiselector.Demo";
testName="testScrollGetChild";
androidId="1";
new UiAutomatorHelper(jarName, testClass, testName, androidId); } public void testScrollGetChild() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(1000); UiObject people=new UiObject(new UiSelector().text("People"));
people.clickAndWaitForNewWindow(); UiScrollable scroll=new UiScrollable(new UiSelector().className("android.widget.ListView")); //指定可以滚动查找子元素,可以成功找到在任何页中的电话信息
UiObject H=scroll.getChildByText(new UiSelector().className("android.widget.TextView"), "H", true);
H.click(); //指定不可以滚动查找子元素,如果查找的电话信息不在第一页,会报错
UiObject J=scroll.getChildByText(new UiSelector().className("android.widget.TextView"), "J", false);
J.click(); //getChildByInstance,不可以滚动,因此查找非第一页的电话信息会报错
UiObject someone=scroll.getChildByInstance(new UiSelector().className("android.widget.TextView"), 20);
someone.click();
} }

Demo.java

二、相关API应用举例

最新文章

  1. MonoDevelop 4.0.9 on CentOS 6.3 安装笔记
  2. Java设计模式(三) 抽象工厂模式
  3. Miller-Rabin素数快速检测
  4. Linux常用指令---工作
  5. Unicode编码
  6. Keep two divs sync scroll and example
  7. VMWare虚拟机系统网络配置
  8. Unity给力插件之LittleLocalization
  9. SolrJ总结
  10. Gridview中奇偶数行颜色设置
  11. Swift - 九宫格图片缩放总结样例
  12. 14.3.5.1 An InnoDB Deadlock Example
  13. CSS 简单了解(二)
  14. 第二节:框架前期准备篇之AutoFac常见用法总结
  15. 在线协作开发工具apizza使用方法(https://apizza.net/projects)
  16. 浅析B/S架构数据库连接方式
  17. JAVA迭代器学习--在JAVA中实现线性表的迭代器
  18. Mybatis九( mybatis插件的原理及使用)
  19. java学习第05天(数组常见操作、数组中的数组)
  20. UBUNTU 下 APACHE2 Too many open files: Error retrieving pid file /var/run/apache2.pid

热门文章

  1. centos7 install flash player
  2. Manual close is not allowed over a Spring managed SqlSession(转)
  3. SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇
  4. kettle--组件(1)--值映射
  5. Asp.Net MVC中递归死循环问题
  6. EMQ配置“ClientId 认证”
  7. C# 可否对内存进行直接的操作?
  8. linux文本分析利器awk
  9. spring中aop以xml配置方式
  10. 单元测试时使用Ninject的小问题