判断对象是否存在
1、判断对象是否存在相关API
返回值 | API | 描述 |
boolean | waitForExists(long timeout) | 等待对象出现 |
boolean | waitUntilGone(long timeout) | 等待对象消失 |
boolean | exists() | 检查对象是否存在 |
2、API应用举例
package com.test.uiobject; import java.io.File; import android.graphics.Rect; import android.view.KeyEvent; 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="testExists"; androidId="1"; new UiAutomatorHelper(jarName,testClass,testName,androidId); } public void testExists() throws UiObjectNotFoundException{ UiDevice.getInstance().pressHome(); sleep(2000); UiObject message=new UiObject(new UiSelector().text("Messaging")); message.click(); sleep(2000); UiObject text=new UiObject(new UiSelector().text("No conversations.")); if(text.exists()){ System.out.println("No conversations, please create a message"); } UiObject create=new UiObject(new UiSelector().resourceId("com.android.mms:id/action_compose_new")); if(create.waitForExists(5000)){ create.click(); UiObject to=new UiObject(new UiSelector().resourceId("com.android.mms:id/recipients_editor")); to.click(); UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_1); UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_0); UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_0); UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_8); UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_6); UiObject typeMessage=new UiObject(new UiSelector().resourceId("com.android.mms:id/embedded_text_editor")); typeMessage.setText("hello, my name is fsw!"); UiObject button=new UiObject(new UiSelector().resourceId("com.android.mms:id/send_button_sms")); button.click(); sleep(2000); } } }