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

 

posted on 2015-06-15 16:48  发卡  阅读(1012)  评论(0编辑  收藏  举报