点击与长按
一、组件区域位置关系
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();}}