java+UIAutomatorAPI详解

java+UIAutomatorAPI详解
	UiObject
		手势操作
			dragTo():拖拽
				dragTo(int destX, int destY, int steps)--拖拽对象到屏幕(destX,destY)位置上
				dragTo(UiObject destObj, int steps)--拖拽对象到屏幕另一个对象(destObj)位置上
			swipe():滑动
				swipe(int startX, int startY, int endX, int endY, int steps)--通过坐标滑动屏幕
				swipe(Point[] segments, int segmentSteps)--点阵列滑动,segments为Point[]点阵列
				swipeUp(int steps)--拖动对象向上滑动
				swipeDown(int steps)--拖动对象向下滑动
				swipeLeft(int steps)--拖动对象向左滑动
				swipeRight(int steps)--拖动对象向右滑动
			多点触控手势
				perfromTwoPointGesture(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)--任意双点触控手势,模拟双指手势
				pointIn():双指向内收缩手势
					pointIn(int percent, int steps)
					int percent:滑到对角线百分比的位置停止
					int steps:代表时间
				pointOut():双指向外扩张手势
					pointOut(int percent, int steps)
					int percent:滑到对角线百分比的位置停止
					int steps:代表时间
		输入
			setText():输入文本
				setText(String text)
				String text:输入的文本内容
			clearText():清楚编辑框中的文本
		点击
			click():点击对象操作
			clickAndWaitForNewWindow():点击对象并一直等到新窗口出现
			clickButtomRight():点击对象右下角
			clickTopLeft():点击对象左上角
		长按
			longClick():长按对象
			longClickButtomRight():长按对象右下角
			longClickTopLeft():长按对象左上角
		等待
			waitForExists(long timeout):等待对象出现
			waitUtilGone(long timeout):等待对象消失
			exists():检查对象是否存在
			waitForIdle():持续等待当前应用程序处于空闲状态为止
			waitForIdle(long timeout):持续等待当前应用程序处于空闲状态为止
			waitForWindowUpdate(String packageName, long timeout):等待窗口内容更新事件的发生
		截图
			takeScreenshot(File storePath):截屏并将图像保存到指定路径下(手机端路径,非PC端路径)
			takeScreenshot(File storePath, float scale, int quality):将当前窗口截图未png图片格式,可以自定义缩放比例与图片质量
				stroePath:存储路径,必须为png格式
				scale:缩放比例,1.0为原图
				quality:图片压缩质量,范围0~100
		获取对象属性
			getPackageName():获取对象(当前控件)包名属性的包名
			getClassName():获取对象类属性的类名
			getContentDescription():获取控件对象的描述属性
			getText():获取控件对象的文本属性
			getBounds():获取控件对象的坐标属性(返回控件左上角和右下角坐标)
		获取控件对象
			getFromParent(Uiselector selector):通过控件的父类(上一级控件)获取该控件
			getChild(Uiselector selector):通过该控件获取其子类(下一级控件)
			getChildCount():获取下一级控件数,以便递归获取下级控件中目标控件对象
			getVisibleBounds():返回可见视图的范围(若视图的部分是可见的,将只返回可见部分的范围)
		控件自身属性
			isEnabled():检查对象enabled属性是否未true
			isCheckable():检查对象checkble属性是否未true
			isClickable():检查对象的clickble属性是否未true
			isChecked():检查对象的checked属性是否为true
			isFocused():检查对象的focused属性是否为true
			isFocusable():检查对象的focusable属性是否为true
			isLongClickable():检查对象的longclickable属性是否为true
			isScrollable():检查对象的scrollable属性是否为true
			isSelected():检查对象的selected属性是否为true
	UiDevice
		锁屏/唤醒
			wakeUp():唤醒屏幕
			isScreenOn():检查屏幕是否为唤醒状态
		获取设备属性
			getProductName():获取产品名
			getInstance():获取设备对象
			getDisplaySizeDp():获取显示大小
			getDisplayHeight():获取显示高度
			getDisplayWidth():获取显示宽度
			getDisplayRotation():获取当前显示角度
		键值事件
			pressBack():发送<BACK>pressHome():发送<HOME>pressMenu():发送<MENU>pressEnter():发送<ENTER>pressDelete():模拟短按删除键
			pressRecentApps():模拟短按最近应用程序按键
			pressSearch():模拟短按搜索键
			pressDPadCenter():模拟轨迹球居中
			pressDPadUp():模拟轨迹球向上
			pressDPadDown():模拟轨迹球向下
			pressDPadLeft():模拟轨迹球向左
			pressDPadRight():模拟轨迹球向右
		旋转
			freezeRotation():禁用传感器,在其当前旋转状态冻结装置物理旋转
			unfreezeRotation():重启传感器,允许物理旋转
			setOrientation():禁用传感器、模拟屏幕转到其默认方向,固定位置
			setOrientationLeft():禁用传感器、模拟设备向左转,固定位置
			setOrientationRight():禁用传感器、模拟设备向右转,固定位置
			isNaturalOrientation():检查设置是否在其默认方向(即自然旋转竖屏)上
		布局文件
			dumpWindowHierarchy(String fileName):将当前窗口的布局结构另存为文件fileName
			setCompressedLayoutHeirarchy(boolean compressed):启用或者禁用布局层次压缩
		获取包名
			getCurrentPackageName():获取当前应用的包名
		获取应用名
			getCurrentActivityName():获取当前应用的应用名
		通知栏
			openNotification():开启通知栏
			openQuickSetting():直接打开快速设置
	UiSelector
		textStartsWith(String text):通过文本(开始字串匹配)方式进行控件筛选
		textContains(String text):通过文本(字符包含)方式进行文本筛选
		textMatches(String regex):通过文本(正则表达式)方式进行控件筛选
		description(String desc):通过描述(字符匹配)方式进行控件筛选
		descriptionStartsWith0(String desc):通过描述(开始字符匹配)进行控件筛选
		descriptionContains(String desc):通过描述(字符包含)进行控件筛选
		descriptionMatches(String desc):通过描述(正则表达式)方式进行控件筛选
		className(String className):通过类名(字串匹配)方式进行控件筛选
		classNameMatches(String regex):通过类名(正则表达式)方式进行控件筛选
		packageName(String name):通过包名(字串匹配)方式进行控件筛选
		packageNameMatches(String regex):通过包名(正则表达式)方式进行控件筛选
		childSelector(UiSelector selector):通过定位子类方式进行控件筛选
		fromParent(UiSelector selector):通过定位父类方式进行控件筛选
		index(int index):通过索引方式进行控件筛选
		instance(ine instance):通过实例方式进行控件筛选
		resourceId(String id):通过控件ID进行控件筛选
		resourceIdMatches(String regex):通过控件ID(正则表达式)方式进行控件筛选
		checked(boolean val):通过可勾选属性方式进行控件筛选
		clickable(boolean val):通过可点击属性方式进行控件筛选
		scrollable(boolean val):通过可滚动属性方式进行控件筛选
		selected(boolean val):通过可选择属性方式进行控件筛选
		longClickable(boolean val):通过可长按属性方式进行控件筛选
		enabled(boolean val):通过启用属性方式进行控件筛选
		focusable(boolean val):通过焦点属性方式进行控件筛选
		focused(boolean val):通过当前焦点属性方式进行控件筛选
	UiCollection
		getChildCount(UiSelector childPattern):获取符合条件的子控件数量
		getChildByDescription(Uiselector childPattern, String text):通过描述定位符合条件的子元素
		getChildByText(UiSelector childPattern, String text):通过文本定位符合条件的子元素
		getChildByInstance(UiSelector childPattern, String instance):通过实例定位符合条件的子元素
	UiScrollable
		滚动方式
			scrollIntoView(UiSelector selector):滚动到目标元素所在位置,并尽可能使其位于屏幕正中位置
			scrollIntoView(UiObject obj):滚动到目标元素所在位置,并尽可能使其位于屏幕正中位置
			scrollTextIntoView(String text):滚动到为本对象所在位置,并尽可能使其位于屏幕正中位置
			scrollDescriptonIntoView(String text):滚动到描述所在位置,并尽可能使其位于屏幕正中
			scrollToBeginning(int maxSwipes):按照设定的最大滑动距离滚动到开始位置
			scrollToBeginning(int maxSwipes, int steps):按照设定的最大滑动距离和滑动次数滚动到开始位置
			scrollToEnd(int maxSwipes):按照设定的最大滑动距离滚动到结束位置
			scrollToEnd(int maxSwipes, int steps):按照设定的最大滑动距离和滑动次数滚动到结束位置
			scrollForward():向前滚动(默认步长55scrollForward(steps):自定义步长向前滚动
			scrollBackward():向后滚动(默认步长55scrollBackward(steps):自定义步长向后滚动
		滚动方向
			listScrollable.setAsHorizontaList():滚动方式恢复为横向滚动
			listScrollable.setAsVerticaList():滚动方式恢复为纵向滚动
		快速滚动
			flingForward():快速向前滑动(默认步长为5flingBackward():快速想向后滑动(默认步长为5flingToBeginning(int maxSwipes):自定义滑动次数快速滚动到顶(默认步长为5flingToEnd(int maxSwipes):自定义滑动次数快速滚动到底(默认步长为5)
		获取/设置最大滚动次数
			getMaxSearchSwipes():获取执行搜索滚动过程中的最大滚动次数
			setMaxSearchSwipes(int swipes):设置执行搜索滚动过程中的最大滚动次数
	UiWatcher
		registerWatcher(String UiWatcher watcher):注册监听器
		removeWatcher(String name):移除之前注册的监听器
		resetWatcherTriggers():重置一个监听器
		runWatcher():强制运行所有的监听器
		hasAnyWatcherTriggered():检查是否有监听器触发过
		hasWatcherTriggered(String watcherName):检查某个监听器是否触发过

更多系列文章:https://blog.csdn.net/qq_33676825

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值