Android无线测试之—UiAutomator UiScrollable API介绍三
获取列表子元素
一、相关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应用举例
Android无线测试之—UiAutomator UiScrollable API介绍三的更多相关文章
- Android无线测试之—UiAutomator UiScrollable API介绍一
UiScrollable类介绍 一.UiScrollable类说明: 1.UiScrollable是UiCollection的子类,因此它可以使用UiCollection和Uiobject类的所有公共 ...
- Android无线测试之—UiAutomator UiScrollable API介绍五
滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentag ...
- Android无线测试之—UiAutomator UiScrollable API介绍二
快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...
- Android无线测试之—UiAutomator UiScrollable API介绍八
设置滚动方向 一.设置滚动方向相关API 返回值 API 描述 UiScrollable setAsHorizontalList 设置滚动方向为水平滚动 UiScrollable setAsVerti ...
- Android无线测试之—UiAutomator UiScrollable API介绍七
滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...
- Android无线测试之—UiAutomator UiScrollable API介绍六
向前与向后滚动API 一.向前与向后滚动相关API 返回值 API 描述 boolean scrollBackward(int steps) 自动以步长向后滑动 boolean scrollBackw ...
- Android无线测试之—UiAutomator UiScrollable API介绍四
获取与设置最大滚动次数常量值 一.获取与设置最大滚动次数常量值相关API 返回值 API 描述 int getMaxSearchSwipes() 获取执行搜索滑动过程中的最大滑动次数,默认最大滚动次数 ...
- Android无线测试之—UiAutomator UiDevice API介绍三
获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...
- Android无线测试之—UiAutomator UiObject API介绍三
拖拽与滑动 一.拖拽与滑动的示意图 二.拖拽与滑动相关的API 返回值 API 描述 boolean dragTo(UiObject destObj, int setps) 拖拽对象到另一个对象位置上 ...
随机推荐
- Ubuntu 下apache2 增加新的module
http://andrew913.iteye.com/blog/398648 首先来介绍下apache的一个工具apxs.apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译 ...
- 【Statistics】CAP曲线
功能描述 CAP曲线(Cumulative Accuracy Profile)/Power Curve(准确率/AR)是描述整个评级结果下,累计违约客户比例与累计客户比例的关系. 在完美的模型下,CA ...
- [机器学习实战] 决策树ID3算法
1. 决策树特点: 1)优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据. 2)缺点:可能会产生过度匹配问题. 3)适用数据类型:数值型和标称型. 2. 一般流程: ...
- DS18B20 crc 算法
http://blog.csdn.net/pengrui18/article/details/24740973 https://www.maximintegrated.com/cn/app-notes ...
- mysql 添加缓存
解决方法一,修改my.ini文件 找到 query_cache_size =0 估计就是这个问题在造成的,没有开查询缓存 (一般1G 就64M缓存) 我的服务器的内存4G, 调整到 代码如下 复制 ...
- unity, TRANSFORM_TEX
TRANSFORM_TEX在UnityCG.cginc中定义. ----补充: 为啥buildin shader Unlit-Normal.shader中有一个float4 _MainTex_ST变 ...
- unity, GetComponent<MeshRenderer>().sharedMaterial 与 GetComponent<MeshRenderer>().material
我多个物体用的是同一个material,当我用gameObject.GetComponent<MeshRenderer>().sharedMaterial.SetColor("_ ...
- 多线程-Thread与Runnable源码分析
Runnable: @FunctionalInterface public interface Runnable { /** * When an object implementing interfa ...
- tit.Atitit. http 代理原理 atiHttpProxy 大木马 h
Atitit. http 代理原理 atiHttpProxy 大木马 1. 面这张图可以清晰地阐明HttpProxy的实现原理:1 2. 代理服务器用途1 3. 其中流程具体如下:2 4. 设计规 ...
- web ul li
<html> <head> <style type="text/css"> ul{float:right} ul li{float:left; ...