我已经使用UI Automator自动转到设置Android手机,我点击菜单使用“getUiDevice()。pressMenu();”和它打开的菜单有3个子菜单项,我想使用名称或索引或ID点击第二个菜单,请帮助如何点击Android UIAutomator中的子菜单?
答案 0 :(得分:0)
带有三个点的此溢出菜单图标ImageView
没有ID ...
但是可以通过描述获得它:
UiObject2 menuButton = this.mDevice.findObject(By.desc("More options"));
/* open the menu */
if(menuButton != null && menuButton.isClickable()) {
menuButton.click();
menuButton.recycle();
} else {
Assert.fail();
}
然后可以按其索引单击菜单项:
ArrayList<UiObject2> menu = (ArrayList<UiObject2>) this.mDevice.findObject(By.clazz("android.widget.ListView")).getChildren();
/* click the menu item at index 0 */
UiObject2 menu_action = menu.get(0);
if (menu_action != null && menu_action.isClickable()) {
menu_action.click();
menu_action.recycle();
} else {
Assert.fail();
}
答案 1 :(得分:0)
使用clazz方法有效
UiObject2 item = mDevice.findObject(By.clazz("android.widget.ListView"));
答案 2 :(得分:-1)
您可以使用'uiautomatorviewer'工具查看其中显示的菜单项的文字/说明/资源ID /索引。
使用uiautomatorviewer工具:
[1] Connect your device.
[2] Open command prompt and type 'uiautomatorviewer'.
[3] Open the particular screen of whose elements you want to view (in this case - your menu items).
[4] Press the green 'Device Screenshot' button next to file open in top left.
将鼠标悬停在屏幕截图上以查看屏幕元素的文本/说明/资源ID /索引,您可以使用其中显示的内容。