Android无线测试之—UiAutomator UiObject API介绍二
点击与长按
一、组件区域位置关系
Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom]

二、点击与长按API
| 返回值 | API | 描述 |
| boolean | click() | 点击对象 |
| boolean | clickAndWaitForNewWindow(lang timeout) | 点击对象,等待新窗口出现,参数为等待超长时间 |
| boolean | clickAndWaitForNewWindow() | 点击对象,等待新窗口出现 |
| boolean | clickBottomRight() | 点击对象的右下角 |
| boolean | clickTopLeft() | 点击对象的左上角 |
| boolean | longClick() | 长按对象,对对象执行长按操作 |
| boolean | longClickBottomRight() | 长按对象右下角 |
| boolean | longClickTopLeft() | 长按对象左上角 |
三、API应用举例
package com.test.uiobject; 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 Demo extends UiAutomatorTestCase { /**
* @param args
*/
public static void main(String[] args) {
String jarName,testClass,testName,androidId;
jarName="demo";
testClass="com.test.uiobject.Demo";
testName="testLongClick";
androidId="1";
new UiAutomatorHelper(jarName,testClass,testName,androidId); } public void testClick() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(1000); //click()
UiObject clock=new UiObject(new UiSelector().resourceId("com.android.deskclock:id/analog_appwidget"));
clock.click();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); //clickAndWaitForNewWindow()
clock.clickAndWaitForNewWindow(); UiDevice.getInstance().pressBack();
sleep(2000); //clickAndWaitForNewWindow(timeout)
clock.clickAndWaitForNewWindow(5000); UiDevice.getInstance().pressBack();
sleep(2000); //clickBottomRight()
clock.clickBottomRight();
sleep(2000); UiDevice.getInstance().pressBack();
sleep(2000); //clickTopLeft()
clock.clickTopLeft();
sleep(2000);
UiDevice.getInstance().pressBack(); } public void testLongClick() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
sleep(2000); //longClick()
UiObject people=new UiObject(new UiSelector().text("People"));
people.longClick();
sleep(2000); //longClickBottomRight()
people.longClickBottomRight();
sleep(2000); //longClickTopLeft()
people.longClickTopLeft();
} }
Demo.java
Android无线测试之—UiAutomator UiObject API介绍二的更多相关文章
- Android无线测试之—UiAutomator UiObject API介绍六
手势操作 1.手势相关操作 2.相关API介绍 返回值 API 描述 boolean performMultiPointerGesture(PointerCoords[]... touches) 执行 ...
- Android无线测试之—UiAutomator UiObject API介绍一
UiObject类介绍 一.UiObject类介绍 UiObject代表一个UI元素,通过UiSelector查找跳进创建一个UiObject实例,找到这个实例以后可以对这个实例进行各类操作 二.Ui ...
- Android无线测试之—UiAutomator UiScrollable API介绍二
快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...
- Android无线测试之—UiAutomator UiObject API介绍四
输入文本与清除文本 一.输入文本与清除文本相关API 返回值 API 描述 boolean setText(String test) 在对象中输入文本 void clearTextField() 清除 ...
- Android无线测试之—UiAutomator UiObject API介绍三
拖拽与滑动 一.拖拽与滑动的示意图 二.拖拽与滑动相关的API 返回值 API 描述 boolean dragTo(UiObject destObj, int setps) 拖拽对象到另一个对象位置上 ...
- Android无线测试之—UiAutomator UiObject API介绍七
判断对象是否存在 1.判断对象是否存在相关API 返回值 API 描述 boolean waitForExists(long timeout) 等待对象出现 boolean waitUntilGone ...
- Android无线测试之—UiAutomator UiObject API介绍五
获取对象属性与属性的判断 1.获取对象属性相关API 返回值 API 说明 Rect getBounds() 获取对象矩形坐标,矩形左上角坐标与右下角坐标 int getChildCount() 获得 ...
- Android无线测试之—UiAutomator UiDevice API介绍二
按键与KEYCODE使用 一.手机常见按键: 1)HOME 主屏幕键 2) MENU 菜单键 3) BACK 返回键 4) VOLUME_UP 音量加键 5) VOLUME_DOWN 音量减键 6) ...
- Android无线测试之—UiAutomator UiScrollable API介绍三
获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...
随机推荐
- Spark(九) -- SparkSQL API编程
本文测试的Spark版本是1.3.1 Text文本文件测试 一个简单的person.txt文件内容为: JChubby,13 Looky,14 LL,15 分别是Name和Age 在Idea中新建Ob ...
- Ubuntu(Debian)的aptitude与apt-get的区别和联系
Ubuntu(Debian)的aptitude与apt-get的区别和联系 aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不 ...
- 香蕉派 Banana pi BPI-M1+ 双核开源单板计算机. 板载WIFI
Banana PI BPI-M1+是一款高性能双核开源硬件单板计算机,Banana PI BPI-M1+是一款比树莓派更强悍的双核Android4.4与Linux产品. Banana PI BP ...
- 攻克了Cocoapods Undefined symbols for architecture _OBJC_CLASS_xxxx的问题,辛苦死我了,记录下之后有空在研究
网上找了一大包将尽3个小时没有解决,原本以为是我升级到10.10的原因,把cocoapod 重装 stackoverflow google 用尽了也不知道为啥 结果是这个样子的 编译出现这个.... ...
- atitit.MyEclipse10 中添加svn插件故障排除
atitit.MyEclipse10 中添加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config ...
- [容器]python搭建简易服务器+docker导入多个镜像shell脚本
从其他机器导出来的docker镜像,集中地放在某台上,其他的机器执行 curl xxx:8000/load_images.sh 来导入镜像,简单方便 使用python简易web服务器. (在镜像目录下 ...
- 下载文件,ie文件名称乱码问题
设置响应编码,将文件名称用java.net.URLEncoder.encode编码,这样就不会乱码了 java.net.URLEncoder.encode response.setCharacterE ...
- CentOS 6.2 安装kdbg
地址:http://pkgs.org/centos-5/centos-x86_64/kdbg-2.0.2-1.2.1.x86_64.rpm.html 百度网盘地址:http://pan.baidu.c ...
- flume A simple example
http://flume.apache.org/FlumeUserGuide.html A simple example
- Redis的README.md
This README is just a fast *quick start* document. You can find more detailed documentation at http: ...