Android无线测试之—UiAutomator UiScrollable API介绍三
2024-10-21 14:33:06
获取列表子元素
一、相关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应用举例
最新文章
- MonoDevelop 4.0.9 on CentOS 6.3 安装笔记
- Java设计模式(三) 抽象工厂模式
- Miller-Rabin素数快速检测
- Linux常用指令---工作
- Unicode编码
- Keep two divs sync scroll and example
- VMWare虚拟机系统网络配置
- Unity给力插件之LittleLocalization
- SolrJ总结
- Gridview中奇偶数行颜色设置
- Swift - 九宫格图片缩放总结样例
- 14.3.5.1 An InnoDB Deadlock Example
- CSS 简单了解(二)
- 第二节:框架前期准备篇之AutoFac常见用法总结
- 在线协作开发工具apizza使用方法(https://apizza.net/projects)
- 浅析B/S架构数据库连接方式
- JAVA迭代器学习--在JAVA中实现线性表的迭代器
- Mybatis九( mybatis插件的原理及使用)
- java学习第05天(数组常见操作、数组中的数组)
- UBUNTU 下 APACHE2 Too many open files: Error retrieving pid file /var/run/apache2.pid
热门文章
- centos7 install flash player
- Manual close is not allowed over a Spring managed SqlSession(转)
- SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇
- kettle--组件(1)--值映射
- Asp.Net MVC中递归死循环问题
- EMQ配置“ClientId 认证”
- C# 可否对内存进行直接的操作?
- linux文本分析利器awk
- spring中aop以xml配置方式
- 单元测试时使用Ninject的小问题