手势操作

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

最新文章

  1. JAVA基础中的注意点
  2. UNIX网络编程——getsockname和getpeername函数
  3. Content has been consumed
  4. 【Java每日一题】20161124
  5. Linux rpm 查询
  6. 【Git】笔记5 分支管理2
  7. Ajax提交整个表单
  8. centos下整合PagerDuty、nagios初探(on-call尝鲜和体验)
  9. @Mybatis传多个参数
  10. 嵌套结构使用:struc1-struc2-XXX
  11. python2 编码问题详解
  12. 【LR】版本问题
  13. HTML5之部分显示
  14. socket基础(二)
  15. Multicast on Openstack
  16. RDLC(Reportview)报表
  17. setsockopt()和getsockopt()函数参数
  18. 在openjdk8下看Unsafe源码
  19. dicom错误解决
  20. 防Bug笔记

热门文章

  1. Thread.sleep(0)的作用
  2. jquery 设置checkbox选中 和获取选中值
  3. ASP.NET CORE 学习之原生DI实现批量注册
  4. 折腾docker安装笔记
  5. .Net程序员面试 每个人都应知道篇 (回答Scott Hanselman的问题)
  6. Impala中多列转为一行
  7. Atitit.100% 多个子元素自适应布局属性
  8. Sublime Text 2/3如何支持中文GBK编码(亲测实现)
  9. [gj]三国攻势图
  10. Swift中UIView类方法(animateWithDuration)的使用