目录
使用UI Automator Viewer 进行元素定位
UiAutomator API
UI Automator 测试框架提供了一个 UiDevice 类,用于在运行目标应用的设备上访问和执行操作。您可以调用其方法来访问设备属性,如当前屏幕方向或显示屏尺寸。UiDevice 类还可让您执行如下操作:
- 改变设备的旋转。
- 按硬件键,如“音量调高按钮”。
- 按返回、主屏幕或菜单按钮。
- 打开通知栏。
- 截取当前窗口的屏幕截图。
例如,要模拟按主屏幕按钮的操作,请调用 UiDevice.pressHome() 方法。
来源: https://developer.android.google.cn/training/testing/ui-automator
-
UiCollection:枚举容器的界面元素,目的是为了计数,或者按可见文本或内容说明属性来定位子元素。 -
UiObject:表示设备上可见的界面元素。 -
UiScrollable:支持搜索可滚动界面容器中的项目。 -
UiSelector:表示对设备上的一个或多个目标界面元素的查询。 -
Configurator:可让您设置用于运行 UI Automator 测试的关键参数。
UiDevice
来源: https://developer.android.google.cn/reference/androidx/test/uiautomator/UiDevice
Public methods |
|
|---|---|
void |
clearLastTraversedText()
Clears the text from the last UI traversal event. |
boolean |
click(int x, int y)
Perform a click at arbitrary coordinates specified by the user |
boolean |
drag(int startX, int startY, int endX, int endY, int steps)
Performs a swipe from one coordinate to another coordinate. |
void |
dumpWindowHierarchy(File dest)
Dump the current window hierarchy to a |
void |
dumpWindowHierarchy(OutputStream out)
Dump the current window hierarchy to an |
void |
dumpWindowHierarchy(String fileName)
This method is deprecated. Use |
UiObject |
findObject(UiSelector selector)
Returns a UiObject which represents a view that matches the specified selector criteria. |
UiObject2 |
findObject(BySelector selector)
Returns the first object to match the |
List<UiObject2> |
findObjects(BySelector selector)
Returns all objects that match the |
void |
freezeRotation()
Disables the sensors and freezes the device rotation at its current rotation state. |
String |
getCurrentActivityName()
This method is deprecated. The results returned should be considered unreliable |
String |
getCurrentPackageName()
Retrieves the name of the last package to report accessibility events. |
Uiselector
来源: https://developer.android.google.cn/reference/androidx/test/uiautomator/UiSelector.html
UiSelector |
packageName(String name)
Set the search criteria to match the package name of the application that contains the widget. |
UiSelector |
packageNameMatches(String regex)
Set the search criteria to match the package name of the application that contains the widget. |
UiSelector |
resourceId(String id)
Set the search criteria to match the given resource ID. |
UiSelector |
resourceIdMatches(String regex)
Set the search criteria to match the resource ID of the widget, using a regular expression. |
UiSelector |
scrollable(boolean val)
Set the search criteria to match widgets that are scrollable. |
UiSelector |
selected(boolean val)
Set the search criteria to match widgets that are currently selected. |
UiSelector |
text(String text)
Set the search criteria to match the visible text displayed in a widget (for example, the text label to launch an app). |
UiSelector |
textContains(String text)
Set the search criteria to match the visible text in a widget where the visible text must contain the string in your input argument. |
UiSelector |
textMatches(String regex)
Set the search criteria to match the visible text displayed in a layout element, using a regular expression. |
UiSelector |
textStartsWith(String text)
Set the search criteria to match visible text in a widget that is prefixed by the text parameter. |
String |
toString() |
UiObject
来源: https://developer.android.google.cn/reference/androidx/test/uiautomator/UiObject.html
Public methods |
|
|---|---|
void |
clearTextField()
Clears the existing text contents in an editable field. |
boolean |
click()
Performs a click at the center of the visible bounds of the UI element represented by this UiObject. |
boolean |
clickAndWaitForNewWindow()
Waits for window transitions that would typically take longer than the usual default timeouts. |
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. |
boolean |
clickBottomRight()
Clicks the bottom and right corner of the UI element |
boolean |
clickTopLeft()
Clicks the top and left corner of the UI element |
boolean |
dragTo(UiObject destObj, int steps)
Drags this object to a destination UiObject. |
boolean |
dragTo(int destX, int destY, int steps)
Drags this object to arbitrary coordinates. |
boolean |
exists()
Check if view exists. |
Rect |
getBounds()
Returns the view's |
UiObject |
getChild(UiSelector selector)
Creates a new UiObject for a child view that is under the present UiObject. |
int |
getChildCount()
Counts the child views immediately under the present UiObject. |
String |
getClassName()
Retrieves the |
String |
getContentDescription()
Reads the |
UiObject |
getFromParent(UiSelector selector)
Creates a new UiObject for a sibling view or a child of the sibling view, relative to the present UiObject. |
String |
getPackageName()
Reads the view's |
final UiSelector |
getSelector()
Debugging helper. |
String |
getText()
Reads the |
UiCollection
boolean |
clickTopLeft()
Clicks the top and left corner of the UI element |
boolean |
dragTo(UiObject destObj, int steps)
Drags this object to a destination UiObject. |
boolean |
dragTo(int destX, int destY, int steps)
Drags this object to arbitrary coordinates. |
boolean |
exists()
Check if view exists. |
Rect |
getBounds()
Returns the view's |
UiObject |
getChild(UiSelector selector)
Creates a new UiObject for a child view that is under the present UiObject. |
int |
getChildCount()
Counts the child views immediately under the present UiObject. |
String |
getClassName()
Retrieves the |
String |
getContentDescription()
Reads the |
UiObject |
getFromParent(UiSelector selector)
Creates a new UiObject for a sibling view or a child of the sibling view, relative to the present UiObject. |
String |
getPackageName()
Reads the view's |
final UiSelector |
getSelector()
Debugging helper. |
String |
getText()
Reads the |
UiScrollable
来源: https://developer.android.google.cn/reference/androidx/test/uiautomator/UiScrollable.html
boolean |
scrollBackward()
Performs a backward scroll with the default number of scroll steps (55). |
boolean |
scrollDescriptionIntoView(String text)
Performs a forward scroll action on the scrollable layout element until the content-description is found, or until swipe attempts have been exhausted. |
boolean |
scrollForward(int steps)
Performs a forward scroll. |
boolean |
scrollForward()
Performs a forward scroll with the default number of scroll steps (55). |
boolean |
scrollIntoView(UiObject obj)
Perform a forward scroll action to move through the scrollable layout element until a visible item that matches the |
boolean |
scrollIntoView(UiSelector selector)
Perform a scroll forward action to move through the scrollable layout element until a visible item that matches the selector is found. |
boolean |
scrollTextIntoView(String text)
Performs a forward scroll action on the scrollable layout element until the text you provided is visible, or until swipe attempts have been exhausted. |
boolean |
scrollToBeginning(int maxSwipes)
Scrolls to the beginning of a scrollable layout element. |
boolean |
scrollToBeginning(int maxSwipes, int steps)
Scrolls to the beginning of a scrollable layout element. |
boolean |
scrollToEnd(int maxSwipes)
Scrolls to the end of a scrollable layout element. |
boolean |
scrollToEnd(int maxSwipes, int steps)
Scrolls to the end of a scrollable layout element. |
UiScrollable |
setAsHorizontalList()
Set the direction of swipes to be horizontal when performing scroll actions. |
UiScrollable |
setAsVerticalList()
Set the direction of swipes to be vertical when performing scroll actions. |
使用