UiObject官方文档,个人翻译

UiObject

extends Object

java.lang.Object
   ↳ android.support.test.uiautomator.UiObject    继承结构

Known Direct Subclasses 已知的直接子类

Class Overview 类的简介


A UiObject is a representation of a view. It is not in any way directly bound to a view as an object reference. A UiObject contains information to help it locate a matching view at runtime based on the UiSelector properties specified in its constructor. Once you create an instance of a UiObject, it can be reused for different views that match the selector criteria.

一个UiObject 代表一个View。它不是直接绑定View,作为一个实例对象的引用。……………………笨的已经翻译不下去了,打脸中………………


Constants 常量


protected static final int FINGER_TOUCH_HALF_WIDTH

Constant Value: 20 (0x00000014) 值 20

protected static final int SWIPE_MARGIN_LIMIT

Constant Value: 5 (0x00000005)  值 5

protected static final long WAIT_FOR_EVENT_TMEOUT

This constant is deprecated.
use setScrollAcknowledgmentTimeout(long)

Constant Value: 3000 (0x0000000000000bb8) 3000毫秒

protected static final long WAIT_FOR_SELECTOR_POLL

Constant Value: 1000 (0x00000000000003e8) 1000

protected static final long WAIT_FOR_SELECTOR_TIMEOUT

This constant is deprecated.
use setWaitForSelectorTimeout(long)

Constant Value: 10000 (0x0000000000002710) 10000

protected static final long WAIT_FOR_WINDOW_TMEOUT

Constant Value: 5500 (0x000000000000157c)

Public Constructors 公开的构造方法


public UiObject (UiSelector selector)

This constructor is deprecated. 这个构造方法不建议使用………………
Use findObject(UiSelector) instead. This version hides UiObject's dependency on UiDevice and is prone to misuse.

Constructs a UiObject to represent a view that matches the specified selector criteria.

使用 findObject(Uiselector )代替 。  ……后面怡然翻译不下去了……




Public Methods 公有方法 (API)


public void clearTextField ()

Clears the existing text contents in an editable field. The UiSelector of this object must reference a UI element that is editable. When you call this method, the method sets focus on the editable field, selects all of its existing content, and clears it by sending a DELETE key press

清除在editable上的已存在的文本内容。

Throws
  UiObjectNotFoundException
UiObjectNotFoundException  
 抛出UiObjectNotFoundException

public boolean click ()

Performs a click at the center of the visible bounds of the UI element represented by this UiObject.

点击一个View的中心位置

Returns
  • true id successful else false
  • 成功返回true,否则返回false
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  
会抛出UiObjectNotFoundExcption异常

public boolean clickAndWaitForNewWindow (long timeout)

Performs a click at the center of the visible bounds of the UI element represented by this UiObject and waits for window transitions. This method differ from click() only in that this method waits for a a new window transition as a result of the click. Some examples of a window transition:

UiObject代表的元素View,会在中心位置执行一次点击事件,然后等待窗口过渡。 这个方法与click()的不同是,就要等待窗口。 一些窗口过渡的例子

launching a new activity 启动一个新的Activitybringing up a pop-up menu 弹出一个菜单bringing up a dialog 弹出一个对话框

Parameters 参数
timeout timeout before giving up on waiting for a new window 
放弃等待新窗口之前的时间
Returns
  • true if the event was triggered, else false
  • 触发会返回true,否则返回false
Throws
  UiObjectNotFoundException
UiObjectNotFoundException
抛出UiObjectNotFoundException
 

public boolean clickAndWaitForNewWindow ()

Waits for window transitions that would typically take longer than the usual default timeouts. See clickAndWaitForNewWindow(long)

Returns
  • true if the event was triggered, else false
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean clickBottomRight ()

Clicks the bottom and right corner of the UI element

点击View的右下角

Returns
  • true on success 成功会返回true
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean clickTopLeft ()

Clicks the top and left corner of the UI element

点击元素的左上角

Returns
  • true on success 
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean dragTo (UiObject destObj, int steps)

Drags this object to a destination UiObject. The number of steps specified in your input parameter can influence the drag speed, and varying speeds may impact the results. Consider evaluating different speeds when using this method in your tests.

拖拽当前object到目标UiObjecct。步数明确你的输入范围,可以影响你的拖拽速度,不同的速度会影响你的结果。使用此方法测试的时候,考虑评估不同的速度。

Parameters
destObj the destination UiObject. 目标UiObject
steps usually 40 steps. You can increase or decrease the steps to change the speed.
一般是40步,你可以增加或者减少步数而改变速度
Returns
  • true if successful 成功会返回true
Throws
  UiObjectNotFoundException
UiObjectNotFoundException
抛出UiObjectNotFoundException
 

public boolean dragTo (int destX, int destY, int steps)

Drags this object to arbitrary coordinates. The number of steps specified in your input parameter can influence the drag speed, and varying speeds may impact the results. Consider evaluating different speeds when using this method in your tests.

拖拽当前object到任意的坐标。 明确你的范围步数可影响拖拽速度,不同的速度影响结果。你在使用此方法的测试的时候,试着评估下不同的速度。

Parameters
destX the X-axis coordinate. 坐标x
destY the Y-axis coordinate. 坐标y
steps usually 40 steps. You can increase or decrease the steps to change the speed.
步长,通常是40,有可以增加或减少步长以改变速度
Returns
  • true if successful
Throws
  UiObjectNotFoundException
UiObjectNotFoundException
抛出UiObjectFoundException
 

public boolean exists ()

Check if view exists. This methods performs a waitForExists(long) with zero timeout. This basically returns immediately whether the view represented by this UiObject exists or not. If you need to wait longer for this view, then see waitForExists(long).

检查View存在,这个方法执行waitForExists(long)然后传入timeout是0。

Returns
  • true if the view represented by this UiObject does exist

public Rect getBounds ()

Returns the view's bounds property. See getVisibleBounds()

返回View的多边形属性

Returns
  • Rect 返回一个Rect实例对象
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public UiObject getChild (UiSelector selector)

Creates a new UiObject for a child view that is under the present UiObject.

创建一个UiObject用于代表父UiObject的子View

Parameters
selector for child view to match
Returns
  • a new UiObject representing the child view
  • 返回一个新的UiObject实例对象表示子View
Throws
UiObjectNotFoundException  

public int getChildCount ()

Counts the child views immediately under the present UiObject.

用于UiObject下面有多个子View

Returns
  • the count of child views.
  • 返回一个UiObject拥有的子View数量
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public String getClassName ()

Retrieves the className property of the UI element.


Returns
  • class name of the current node represented by this UiObject
  • 当前用于表示的UiObject的class name
Throws
UiObjectNotFoundException if no match was found

public String getContentDescription ()

Reads the content_desc property of the UI element

Returns
  • value of node attribute "content_desc"
  • 返回xml中属性为content_desc的值
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public UiObject getFromParent (UiSelector selector)

Creates a new UiObject for a sibling view or a child of the sibling view, relative to the present UiObject.

Parameters
selector for a sibling view or children of the sibling view
Returns
  • a new UiObject representing the matched view
  • 返回一个表示过滤View之后的一个新的UiObject,其实就是返回父UiObject
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public String getPackageName ()

Reads the view's package property

Returns
  • true if it is else false
  • 返回View的包名
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public final UiSelector getSelector ()

Debugging helper. A test can dump the properties of a selector as a string to its logs if needed. getSelector().toString();

Returns
  • UiSelector
  • 返回一个UiSelector实例对象

public String getText ()

Reads the text property of the UI element

Returns
  • text value of the current node represented by this UiObject
  • 返回当前UiObject的text内容 嘿嘿,这个方法不错哦,例如:有个Button 叫 ‘点我’,那么就会返回‘点我’了
Throws
UiObjectNotFoundException if no match could be found

public Rect getVisibleBounds ()

Returns the visible bounds of the view. If a portion of the view is visible, only the bounds of the visible portion are reported.

Returns
  • Rect 
  • 返回一个多边形Rect实例对象
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  
See Also
  • getBounds()

public boolean isCheckable ()

Checks if the UI element's checkable property is currently true.

Returns
  • true if it is else false
  • 返回当前checkable属性,如果可以返回true,否则返回false
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isChecked ()

Check if the UI element's checked property is currently true

Returns
  • true if it is else false
  • 返回当前View的 check属性
Throws
UiObjectNotFoundException  

public boolean isClickable ()

Checks if the UI element's clickable property is currently true.

Returns
  • true if it is else false
  • 返回当前View能否点击,true代表可以点击,false代表不可点击
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isEnabled ()

Checks if the UI element's enabled property is currently true.

Returns
  • true if it is else false
  • 返回当前View是否已经是激活状态
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isFocusable ()

Check if the UI element's focusable property is currently true.

Returns
  • true if it is else false
  • 返回当前View能否获得焦点
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isFocused ()

Check if the UI element's focused property is currently true

Returns
  • true if it is else false
  • 返回当前View是否已经获得焦点
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isLongClickable ()

Check if the view's long-clickable property is currently true

Returns
  • true if it is else false
  • 返回当前View是否支持长按事件
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isScrollable ()

Check if the view's scrollable property is currently true

Returns
  • true if it is else false
  • 返回当前View是否可以支持滑动事件
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean isSelected ()

Checks if the UI element's selected property is currently true.

Returns
  • true if it is else false
  • 返回当前View是否已经选择
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean longClick ()

Long clicks the center of the visible bounds of the UI element

Returns
  • true if operation was successful
  • 返回当前View是否成功响应长按事件
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean longClickBottomRight ()

Long clicks bottom and right corner of the UI element

Returns
  • true if operation was successful
  • 返回长按右下角是否成功
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean longClickTopLeft ()

Long clicks on the top and left corner of the UI element

Returns
  • true if operation was successful
  • 返回长按左上角是否成功
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean performMultiPointerGesture (PointerCoords... touches) 参数还是可变参数,好high,接受的是PointerCoords实力对象哦

Performs a multi-touch gesture. You must specify touch coordinates for at least 2 pointers. Each pointer must have all of its touch steps defined in an array of MotionEvent.PointerCoords. You can use this method to specify complex gestures, like circles and irregular shapes, where each pointer may take a different path. To create a single point on a pointer's touch path: PointerCoords p = new PointerCoords(); p.x = stepX; p.y = stepY; p.pressure = 1; p.size = 1;

哈哈,到了手势阶段,爽了

Parameters
touches represents the pointers' paths. Each MotionEvent.PointerCoords array represents a different pointer. EachMotionEvent.PointerCoords in an array element represents a touch point on a pointer's path.
Returns
  • true if all touch events for this gesture are injected successfully, false otherwise

public boolean performTwoPointerGesture (Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)

Generates a two-pointer gesture with arbitrary starting and ending points.

Parameters
startPoint1 start point of pointer 1
startPoint2 start point of pointer 2
endPoint1 end point of pointer 1
endPoint2 end point of pointer 2
steps the number of steps for the gesture. Steps are injected about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.
Returns
  • true if all touch events for this gesture are injected successfully, false otherwise

public boolean pinchIn (int percent, int steps)

Performs a two-pointer gesture, where each pointer moves diagonally toward the other, from the edges to the center of this UiObject .

Parameters
percent percentage of the object's diagonal length for the pinch gesture
steps the number of steps for the gesture. Steps are injected about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.
Returns
  • true if all touch events for this gesture are injected successfully, false otherwise
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean pinchOut (int percent, int steps)

Performs a two-pointer gesture, where each pointer moves diagonally opposite across the other, from the center out towards the edges of the this UiObject.

Parameters
percent percentage of the object's diagonal length for the pinch gesture
steps the number of steps for the gesture. Steps are injected about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.
Returns
  • true if all touch events for this gesture are injected successfully, false otherwise
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean setText (String text)

Sets the text in an editable field, after clearing the field's content.

The UiSelector selector of this object must reference a UI element that is editable.

When you call this method, the method sets focus on the editable field, clears its existing content, then injects your specified text into the field.

If you want to capture the original contents of the field, call getText() first. You can then modify the text and use this method to update the field.

Improvements: Post API Level 19 (KitKat release), the underlying implementation is updated to a dedicated set text accessibility action, and it also now supports Unicode.

Parameters
text string to set
Returns
  • true if operation is successful
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean swipeDown (int steps) 向下滑动

Performs the swipe down action on the UiObject. The swipe gesture can be performed over any surface. The targeted UI element does not need to be scrollable. See also:

  • scrollToBeginning(int)
  • scrollToEnd(int)
  • scrollBackward()
  • scrollForward()

Parameters
steps indicates the number of injected move steps into the system. Steps are injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.
Returns
  • true if successful 如果成功返回True
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean swipeLeft (int steps)

Performs the swipe left action on the UiObject. The swipe gesture can be performed over any surface. The targeted UI element does not need to be scrollable. See also:

  • scrollToBeginning(int)
  • scrollToEnd(int)
  • scrollBackward()
  • scrollForward()

Parameters
steps indicates the number of injected move steps into the system. Steps are injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.
Returns
  • true if successful
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean swipeRight (int steps)

Performs the swipe right action on the UiObject. The swipe gesture can be performed over any surface. The targeted UI element does not need to be scrollable. See also:

  • scrollToBeginning(int)
  • scrollToEnd(int)
  • scrollBackward()
  • scrollForward()

Parameters
steps indicates the number of injected move steps into the system. Steps are injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.
Returns
  • true if successful
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean swipeUp (int steps)

Performs the swipe up action on the UiObject. See also:

  • scrollToBeginning(int)
  • scrollToEnd(int)
  • scrollBackward()
  • scrollForward()

Parameters
steps indicates the number of injected move steps into the system. Steps are injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.
Returns
  • true of successful
Throws
  UiObjectNotFoundException
UiObjectNotFoundException  

public boolean waitForExists (long timeout)

Waits a specified length of time for a view to become visible. This method waits until the view becomes visible on the display, or until the timeout has elapsed. You can use this method in situations where the content that you want to select is not immediately displayed.

Parameters
timeout the amount of time to wait (in milliseconds)
Returns
  • true if the view is displayed, else false if timeout elapsed while waiting

public boolean waitUntilGone (long timeout)

Waits a specified length of time for a view to become undetectable. This method waits until a view is no longer matchable, or until the timeout has elapsed. A view becomes undetectable when the UiSelector of the object is unable to find a match because the element has either changed its state or is no longer displayed. You can use this method when attempting to wait for some long operation to compete, such as downloading a large file or connecting to a remote server.

Parameters
timeout time to wait (in milliseconds)
Returns
  • true if the element is gone before timeout elapsed, else false if timeout elapsed but a matching element is still found.



你可能感兴趣的:(UI自动化)