Android无线测试之—UiAutomator UiObject API介绍七
判断对象是否存在
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
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介绍七
滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...
- Android无线测试之—UiAutomator UiObject API介绍五
获取对象属性与属性的判断 1.获取对象属性相关API 返回值 API 说明 Rect getBounds() 获取对象矩形坐标,矩形左上角坐标与右下角坐标 int getChildCount() 获得 ...
- 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介绍二
点击与长按 一.组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二.点击与长按API 返回值 API 描述 boolean click() 点击对 ...
- Android无线测试之—UiAutomator UiDevice API介绍七
截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...
- Android无线测试之—UiAutomator UiScrollable API介绍三
获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...
随机推荐
- UIKit class hierarchy
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3puY2Rtcw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- 【Linux】xshell连接中断后就无法连接虚拟机中的Linux
具体情景是这样的: 在使用Linux的时候,本来一直好好的,突然就断了,我去百度了一番,网上的说法有千万种 有的说:是由于防火墙的问题 有的说:是由于Linux与其他ip冲突造成 ... 说法千万种, ...
- Drupal启动阶段之三:数据库
Drupal在数据库启动阶段仅仅是简单地包含了database.inc文件,然后再注册类加载器: function _drupal_bootstrap_database() { // Initiali ...
- linuxshell中"2>&1"含义
http://blog.sina.com.cn/s/blog_652819220100wpvu.html
- leetcode——Lowest Common Ancestor of a Binary Tree
题目 Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. 思路 这一次 ...
- jquery.zclip实现点击拷贝文字功能
<script type="text/javascript" src="http://www.sitejs.cn/templets/skins/js/jquery- ...
- atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结
atitit.php 流行框架 前三甲为:Laravel.Phalcon.Symfony2 attilax 总结 1. ,最流行的PHP框架前三甲为:Laravel.Phalcon.Symfony2. ...
- 跑测试没有web环境的情况
有时候 当你跑测试的main方法的时候,会有一些莫名其妙的错误,明明mave pom的包是全的,web跑起来不会报错,可是在main方法下就是报错了,这个时候引入 <dependency> ...
- 如何使用Photoshop(PS)将图片的底色变为透明
很多时候需要将一张图片的底色变得透明.本文描述了使用PS将图片的一部分变得透明的方法.本例将一段艺术字的背景去掉,将背景透明的文字单独保存成图片,这样以后将这段文字粘贴到其他素材上的时候,就不用担心它 ...
- SqlServer2005删除实例
控制面板->选中“SQL Server 2005”卸载,卸载的时候可以选择实例.