判断对象是否存在

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);
}
}
}

Demo.java

最新文章

  1. is_null, empty, isset, unset对比
  2. NYOJ题目65另一种阶乘问题
  3. STL Map的使用
  4. 【BZOJ 3188】【Coci 2011】Upit Splay模板题
  5. [Oracle]any, all解析
  6. POJ 2411 Mondriaan's Dream
  7. CSS学习笔记:利用border绘制三角形
  8. 神秘的ApplicationPoolIdentity再也不用妈妈担心程序池安全了
  9. cobbler无人值守批量安装Linux系统
  10. EF框架和Ado.Net的使用比较
  11. 【转】未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
  12. 微信如何获取unionid 并且打通微信公众号和小程序
  13. CSS 居中(拿来主义自用)
  14. 右键添加使用Sublime打开
  15. “耐撕”团队 2016.03.25 站立会议
  16. RxJava 与观察者模式
  17. 网格去噪 Mesh Denoising Guided by Patch Normal Co-filtering via Kernel Low-rank Recovery
  18. Web自动化常用方法封装(不定时更新)
  19. Linux0.11内核剖析--内核代码(kernel)--sched.c
  20. pa15-三省吾身

热门文章

  1. 我的第一个 RN 项目-趣闻
  2. 跨浏览器的CORS
  3. Linux系统编程之----》信号
  4. WebKit(Blink分支)各组件的创建与逻辑关系
  5. CentOS下安装man手册
  6. C++游戏系列5:不止有一件武器
  7. Oracle之配置客户端登陆多个远程数据库
  8. c++的.o文件的链接顺序
  9. vue render函数
  10. session用户账号认证(一个用户登陆,踢出前一个用户)