博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android UiAutomator UiObject API
阅读量:4084 次
发布时间:2019-05-25

本文共 2295 字,大约阅读时间需要 7 分钟。

UiObject类

这里写图片描述

一、点击与长按

这里写图片描述

代码示例:

/*点击与长按*/    public void testClick() throws UiObjectNotFoundException {        UiObject clock = new UiObject(new UiSelector().text("Clock"));//        clock.click();//        clock.clickAndWaitForNewWindow(5000);        clock.clickTopLeft();        UiDevice.getInstance().pressBack();        clock.longClick();        UiDevice.getInstance().pressBack();        //长按也可以通过swipe实现        UiDevice.getInstance().swipe(360, 433, 364, 434, 300);    }    /*拖拽与滑动*/    public void testDrag() throws UiObjectNotFoundException {        UiObject contact = new UiObject(new UiSelector().className("android.widget.TextView").index(2));        contact.swipeUp(30);    }

二、拖拽与滑动

这里写图片描述

拖拽

dragTo (UiObject destObj, int steps):拖拽对象到另一个对象位置上面,可以设置拖动的速度,默认40 steps

dragTo (int destX, int destY, int steps):拖拽对象到某个坐标位置,步长可以设置,默认40 steps

滑动

swipeDown (int steps):拖动对象向下滑动,步长可以设置

swipeLeft (int steps):拖动对象向左滑动,步长可以设置
swipeRight (int steps):拖动对象向右滑动,步长可以设置
swipeUp (int steps):拖动对象向上滑动,步长可以设置

输入/清除文本

setText (String text):设置文本框对象的文本内容

clearTextField ():清除文本框对象的文本内容

获取对象属性

getBounds ():获取对象的矩形坐标,即矩形左上角和右下角坐标

getChild (UiSelector selector):获取对象的子对象,可以根据子对象的特殊属性来获取

getChildCount ():获取下一级子类的数量

getClassName ():获取对象的类名

getContentDescription ():获取对象的文本描述

getFromParent (UiSelector selector):从父类获取子类,根据子类的特殊属性来获取

getPackageName ():获取对象的包名

UiSelector getSelector ():获取selector,用于调试,实用性不大

getText ():获取对象的文本信息

getVisibleBounds ():返回可见视图的范围

属性判断

isCheckable ():检查对象的Check属性是否为true,判断当前对象是否可以打钩

isChecked ():检查对象的Checked属性是否为true,判断当前对象是否已经打钩

isClickable ():检查对象的Click属性是否为true,判断当前对象是否可以点击

isEnabled ():检查对象的Enable属性是否为true,判断当前对象是否可用

isFocusable ():检查对象的Focusable属性是否为true,判断当前对象是都可以获取焦点

isFocused ():检查对象的Focus属性是否为true,判断当前对象是否已经获取焦点

isLongClickable ():检查对象的LongClick属性是否为true,判断当前对象是都可以长按

isScrollable ():检查对象的LongClick属性是否为true,判断当前对象是都可以滑动

isSelected ():检查对象的Selected属性是否为true,判断当前对象是都已经选中

手势操作

performMultiPointerGesture (PointerCoords… touches):执行单手指触控手势,可定义任何手势和形状

performTwoPointerGesture (Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps):执行任意两个手指触控,模拟两个手指手势

pinchIn (int percent, int steps):手指操作,两点向内收缩

pinchOut (int percent, int steps):手指操作,两点向外扩展

对象是否存在

waitForExists (long timeout):等待对象出现, 可设置时长

waitUntilGone (long timeout):等待对象消失, 可设置时长

exists ():判断对象是否存在

你可能感兴趣的文章
python——进程基础
查看>>
iphone开发中的手势操作:Swipes
查看>>
MVC中Code First编程一些小技巧
查看>>
教程-隐藏/显示任务栏-程序不在任务显示-全面控制Windows
查看>>
JavaScript学习总结(十二)——JavaScript编写类
查看>>
enq: JI - contention等待事件
查看>>
ETCD-内部原理
查看>>
vs2017 编译linux项目
查看>>
网络工程实训终期
查看>>
【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统...
查看>>
C#代码试运行在服务器端----JS代码是运行在浏览器端
查看>>
UVAlive 7414 Squeeze the Cylinders a,b,c三种步数 搜索+最短路
查看>>
高通计划停用MSM 以SDM为移动平台命名【转】
查看>>
Collection View Programming Guide for iOS---(二)----Collection View Basics
查看>>
Travelling
查看>>
android中activity向service中传值
查看>>
restassured - JsonPath
查看>>
(eden)eggs
查看>>
BZOJ-2561-最小生成树 题解(最小割)
查看>>
JS页面跳转代码怎么写?总结了5种方法
查看>>