UiWatcher类介绍与中断监听检查条件 一.UiWatcher类说明 1.Uiwatcher用于处理脚本执行过程中遇到非预想的步骤 2.UiWatcher使用场景 1)测试过程中来了一个电话 2)测试过程中来了一条短信 3)测试过程中闹钟响了 4)出现各种非预想的步骤 二.中断监听检查条件 public boolean checkForCondition(); 说明: 在测试框架无法找到一个匹配时,使用UiSelector测试框架将自动调用此处理程序方法.在超时未找到匹配项时,框架调用che…
获取列表子元素 一.相关API介绍 返回值 API 描述 UiObject getChildByDescription(UiSelector childPattern, String text, boolean allowScrollSearch) 是否允许滚动查看获取具备UiSelector条件元素集合后再以文本描述条件查找对象 UiObject getChildByDescription(UiSelector childPattern, String text) 默认滚动获取具备UiSele…
UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可以使用 2)UiCollection代表元素条目的集合 二.UiCollection功能说明 1)先按照一定的条件枚举出容器类界面所有符合条件的子元素 2)再从符合条件的元素的和集中再次通过一定的条件最终定位需要的组件 三.UiCollection使用场景 1)一般使用容器类组件作为父类 2)一般用…
手势操作 1.手势相关操作 2.相关API介绍 返回值 API 描述 boolean performMultiPointerGesture(PointerCoords[]... touches) 执行单手触控手势,可定义任意手势与形状 boolean performTwoPointerGesture(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps) 执行任意两个手指触控手势,模拟两…
获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3)快速设置:打开通知栏,右上角有个设置,快速设置可以进行设置.无线网络等等 4)布局文件:界面布局的文件,显示界面各个控件元素信息的文件 二.相关API: 返回值 包名 描述 void getCurrentPackageName() 获取当前界面的包名 void dumpWindowHierarchy…
拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 描述 boolean drag(int startX, int startY, int endX, int endY, int steps) 拖动对象从一个坐标拖动到另一个坐标 boolean swipe(Point[] segments, int segmentSteps) 再点阵列中滑动,5ms…
设置滚动方向 一.设置滚动方向相关API 返回值 API 描述 UiScrollable setAsHorizontalList 设置滚动方向为水平滚动 UiScrollable setAsVerticalList 设置滚动反向为纵向滚动 package com.testuiselector; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com…
滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕中央 boolean scrollIntoView(UiObject obj) 滑动到对象所在位置,并且尽量让其居于屏幕中央 boolean scrollTextIntoView(String text) 滑动到文本对象所在位置,并且尽量让其居于屏幕中央 boolean scrollDescript…
向前与向后滚动API 一.向前与向后滚动相关API 返回值 API 描述 boolean scrollBackward(int steps) 自动以步长向后滑动 boolean scrollBackward() 以默认步长55向后滑动 boolean scrollForward() 以默认步长55向前滑动 boolean scrollForward(int steps) 自定义步长向前滑动 二.API应用举例 package com.testuiselector; import com.andr…
滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentage() 获取无接触区百分比的值,默认常量值为0.1,即10% UiScrollable setSwipeDeadZonePercentage(double swipeDeadZonePercentage) 设置一个部件的大小,在滑动时,视为无接触区的百分比. 三.API应用举例 package co…
获取与设置最大滚动次数常量值 一.获取与设置最大滚动次数常量值相关API 返回值 API 描述 int getMaxSearchSwipes() 获取执行搜索滑动过程中的最大滑动次数,默认最大滚动次数为30 UiScrollable setMaxSearchSwipes(int swipes) 设置最大可滑动次数 二.API应用举例 package com.testuiselector; import com.android.uiautomator.core.UiDevice; import c…
快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean flingBackward() 以步长为5快速向后滑动 boolean filingForward() 以步长为5快速向前滑动 boolean flingToBeginning(int maxSwipes) 自定义扫动次数以步长为5快速滑动到起始 boolean flingToEnd(int max…
判断对象是否存在 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…
获取对象属性与属性的判断 1.获取对象属性相关API 返回值 API 说明 Rect getBounds() 获取对象矩形坐标,矩形左上角坐标与右下角坐标 int getChildCount() 获得下一级子类数量 String getClassName() 获得对象类名属性的类名文本 String getCountDescription() 获得对象描述属性的描述文本 String getPackageName() 获得对象包名属性的包名文本 String getText() 获得对象文本属性…
输入文本与清除文本 一.输入文本与清除文本相关API 返回值 API 描述 boolean setText(String test) 在对象中输入文本 void clearTextField() 清除编辑框中的文本 二.输入文本与清除文本实现步骤说明 1)输入文本:清除文本—>输入文本 2)清除文本:长按—>清除文本 三.API应用举例 package com.test.uiobject; import android.view.KeyEvent; import com.android.uia…
拖拽与滑动 一.拖拽与滑动的示意图 二.拖拽与滑动相关的API 返回值 API 描述 boolean dragTo(UiObject destObj, int setps) 拖拽对象到另一个对象位置上,步长可设置拖动的速度 boolean dragTo(int destX, int destY, int steps) 拖拽对象到屏幕某个坐标位置上,步长可设置拖动速度 boolean swipeDown(int steps) 拖动对象往下滑动 boolean swipeLeft(int steps…
点击与长按 一.组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二.点击与长按API 返回值 API 描述 boolean click() 点击对象 boolean clickAndWaitForNewWindow(lang timeout) 点击对象,等待新窗口出现,参数为等待超长时间 boolean clickAndWaitForNewWindow() 点击对象,等待新窗口出现 boolean clickBottomRight() 点击对…
对象搜索—索引与实例 一.索引与实例说明: 1)index:在同一级中的编号,在兄弟类中组件的编号,index从0开始 2)instance:同一个布局中同一类组件的编号,instance从0开始 二.索引与实例属性定位对象   返回值 API 描述 UiSelector index(int index) 索引 UiSelector instance(int instance) 实例 三.API应用举例 package com.testuiselector; import android.vie…
对象搜索—类名与包名 一.类名属性定位对象 返回值 API 描述 UiSelector calssName(String className) 完整类名匹配 UiSelector calssNameMatches(String regex) 正则类名匹配 搜索条件的快速书写方式 1)组件名字.class.getName方式 2)完整类名方式:android.widget.LinearLayout 3)正则方式 4)常量方式 二.包名属性定位对象 返回值 API 描述 UiSelector pac…
对象搜索—文本与描述 一.文本属性定位对象: 返回值 API 描述 UiSelector test(String text) 文本完全匹配 UiSelector testContains(String text) 文本包含匹配 UiSelector textMatches(String regex) 文本正则匹配 UiSelector textStartsWith(String text) 文本起始匹配 二.描述属性定位对象: 返回值 API 描述 UiSelector description(…
四种匹配关系介绍 一.四种匹配关系介绍: 二.举例: 匹配字符串   0123456789 1.完全匹配: 0123456789 2.包含匹配: 45678.456.678 3.正则匹配: \d{10} 4.起始匹配: 012.01234.01234567 三.程序举例: package com.testuiselector; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiO…
一. UiSelector类介绍: 1) UiSelector类说明: UiSelector代表一种搜索条件,可以在当前界面上查询和获取特定元素的句柄,当找到多余一个的匹配元素,则返回布局层次结构上第一个匹配元素作为目标UiObject,当构造一个UiSelector对象时,可以使用链式调用多个属性来缩小查询范围 2)UiSelector功能: 通过各种属性与节点关系定位组件 3)自动化操作基本步骤: 找到对象 —> 操作对象 依据UiSelector找到对象,然后才可以操作对象 二.程序例子:…
截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一个文件夹 4)图片格式:图片截图都采用的PNG格式 5)空闲状态:窗口没有更新就是没有动作,界面处于不动状态 6)窗口更新事件:窗口打开的过程就是一个更新事件,打开后不动了就是空闲状态 二.截图相关API: 返回值 方法名 描述 boolean takeScreenShot(File storePa…
一.灭屏和唤醒屏幕相关知识: 1)灭屏:按电源键将屏幕熄灭 2)唤醒屏幕:在灭屏状态下按电源键唤醒屏幕 二.灭屏与唤屏相关的API: 返回值 方法名 描述 void wakeUp() 模拟按电源键,如果屏幕是唤醒的没有任何作用 void sleep() 模拟按电源键,如果屏幕是关闭的则没有任何作用 boolean isScreenOn() 检查屏幕是否亮屏 三.API应用举例: package com.uiautomatortest; import android.graphics.Point;…
屏幕旋转 一.屏幕旋转相关知识: 1)旋转方向:0度,90度(向左转),180度,270度(向右转) 2)重力感应器:重力感应器是旋转所依靠的 3)固定位置:指将屏幕方向固定在0度,90度或者180度等 4)物理旋转:物理旋转与重力感应器关联在一块,关闭物理旋转就是关闭了重力感应器,反之亦然) 二.旋转屏幕相关API: 返回值 方法名 描述 void setOrientationLeft() 通过禁用传感器,然后模拟设备向左转,并且固定位置 void setOrientationNatural(…
获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐标永远为(0,0) 二.坐标相关API: 返回值 方法名 描述 boolean click(int x, int y) 使用坐标点击屏幕 int getDisplayHeight() 获取屏幕高度 Point getDisplaySizeDP() 获取显示尺寸返回显示大小(设备独立像素) 屏幕旋转返…
按键与KEYCODE使用 一.手机常见按键: 1)HOME 主屏幕键 2) MENU 菜单键 3) BACK 返回键 4) VOLUME_UP 音量加键 5) VOLUME_DOWN 音量减键 6) RecentApps 最近使用app 7) POWER 电源键 8) Dpad 上下左右键 9) ...... 二.按键API说明: 返回值 方法名 描述 boolean pressBace() 模拟短按返回back键 boolean pressDPadCenter() 模拟轨迹球中点按键 bool…
UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiDevice() 注意:第二种方式获取UiDevice实例,当含有该实例的类被别的类调用时会报空指针错误. 举例: TestGetUiDevice1.java package com.uiautomatortest; import com.android.uiautomator.testrunner.…
UiScrollable类介绍 一.UiScrollable类说明: 1.UiScrollable是UiCollection的子类,因此它可以使用UiCollection和Uiobject类的所有公共函数 2.UiScrollable专门处理滚动事件,提供各种滚动方式…
UiObject类介绍 一.UiObject类介绍 UiObject代表一个UI元素,通过UiSelector查找跳进创建一个UiObject实例,找到这个实例以后可以对这个实例进行各类操作 二.UiObject功能 代表一个组件对象,对象有许多模拟实际操作手机的方法和属性…