Android无线测试之—UiAutomator UiObject API介绍六
手势操作
1、手势相关操作
2、相关API介绍
| 返回值 | API | 描述 |
| boolean | performMultiPointerGesture(PointerCoords[]... touches) | 执行单手触控手势,可定义任意手势与形状 |
| boolean | performTwoPointerGesture(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps) | 执行任意两个手指触控手势,模拟两个手指手势 |
| boolean | pinchIn(int percent, int steps) | 手势操作,两点向内收缩 |
| boolean | pinchOut(int percent, int steps) | 手势操作,两点向外扩张 |
3、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="testGesTure";
androidId="1";
new UiAutomatorHelper(jarName,testClass,testName,androidId); } public void testGesTure() throws UiObjectNotFoundException{
//返回home页
UiDevice.getInstance().pressHome();
sleep(2000); //打开浏览器
UiObject browser=new UiObject(new UiSelector().text("Browser"));
browser.click();
sleep(2000); //将光标移动到URL输入框行尾,点击backspace键删除里面的URL
UiObject editText=new UiObject(new UiSelector().className("android.widget.EditText"));
editText.click();
sleep(1000);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_MOVE_END);
UiObject url=new UiObject(new UiSelector().text("Search or type URL"));
while(!url.exists()){
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_DEL);
}
sleep(2000); //输入www.baidu.com 点击enter打开百度首页
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_PERIOD);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_I);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_D);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_U);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_PERIOD);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_O);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_M);
sleep(500);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_ENTER);
sleep(10000); //截屏,保存
UiDevice.getInstance().takeScreenshot(new File("sdcard/image1.png"));
sleep(2000); //进入图片所在的位置
UiDevice.getInstance().pressHome();
sleep(2000);
UiObject apps=new UiObject(new UiSelector().descriptionContains("Apps"));
apps.clickAndWaitForNewWindow();
UiObject fileManager=new UiObject(new UiSelector().text("File Manager"));
fileManager.clickAndWaitForNewWindow();
UiObject listView=new UiObject(new UiSelector().text("image1.png"));
listView.clickAndWaitForNewWindow(); //放大缩小图片
UiObject image=new UiObject(new UiSelector().resourceId("com.android.gallery:id/image"));
image.pinchIn(80, 50);
image.pinchOut(80, 50);
} }
Demo.java
Android无线测试之—UiAutomator UiObject API介绍六的更多相关文章
- Android无线测试之—UiAutomator UiObject API介绍一
UiObject类介绍 一.UiObject类介绍 UiObject代表一个UI元素,通过UiSelector查找跳进创建一个UiObject实例,找到这个实例以后可以对这个实例进行各类操作 二.Ui ...
- Android无线测试之—UiAutomator UiScrollable API介绍六
向前与向后滚动API 一.向前与向后滚动相关API 返回值 API 描述 boolean scrollBackward(int steps) 自动以步长向后滑动 boolean scrollBackw ...
- 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 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)灭屏:按电源键将屏幕熄灭 2)唤醒屏幕:在灭屏状态下按电源键唤醒屏幕 二.灭屏与唤屏相关的API: 返回值 方法名 描述 void wakeUp() 模拟按电源键,如 ...
- Android无线测试之—UiAutomator UiScrollable API介绍三
获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, bo ...
随机推荐
- linux中的strip命令简介------给文件脱衣服
1.去掉-g,等于程序做了--strip-debug2.strip程序,等于程序做了--strip-debug和--strip-symbol 作为一名Linux开发人员, 如果没有听说过strip命令 ...
- JDBC:数据库操作:事务
事务特征:原子性,一致性,独立性,持久性. 要想操作事务,必须按照以下步骤完成. 1,取消掉自动提交(SET AUTOCOMMIT=0):每次执行数据库更新的时候实际上发出SQL命令之后就已经提交上去 ...
- hibernate 一对多双向的CURD
转自尚学堂教学视频 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import java ...
- 小强升职记(GTD)脑图
- ubuntu下创建.net core时出现 Failed to create prime the NuGet cache
https://docs.microsoft.com/en-us/aspnet/core/getting-started 根据微软给出的文档运行第一个web程序出现错误 Failed to creat ...
- php学记笔记之函数用途
echo '<pre>';//格式化输出字符 isset();//判断变量是否存在 array_key_exists('key',$arr);//判断数组下标是否存在 in_array(' ...
- git问题:git提交的时候总是提示key加载失败,总是需要手工将key加到Pageant中
问题描述: 重装过一次系统,在重装之前git+tortoisegit配合很好,提交的时候都能自动加载ppk,但是重装系统后,也重新生成pulic key上传到了服务器,但是每次提交的时候都提示key加 ...
- vsftp 虚拟用户高级设置(转载)
发布:xiaokk 来源:net [大 中 小] vsftp 虚拟用户高级设置 本文转自:http://www.jbxue.com/article/1724.html 1.安装所需软件包 ...
- scut协议配置工具初始化的一些问题
1.如果点击协议配置工具左上角的项目按钮没反应,说明数据库没有正确配置. 2.数据库创建脚本运行如果乱码,把utf-8改成ansi 3.如果ContractDB不存在就自行创建数据库. 4.使用sql ...
- 使用spring的多线程机制
多线程并发处理起来通常比較麻烦,假设你使用spring容器来管理业务bean,事情就好办了多了.spring封装了java的多线程的实现,你仅仅须要关注于并发事物的流程以及一些并发负载量等特性. 详细 ...