android - UIAutomator - 如何点击菜单项

标签 android menuitem android-uiautomator

我已经使用 UI Automator 自动转到 android 手机中的设置,我使用“getUiDevice().pressMenu();”单击菜单及其带有 3 个子菜单项的打开菜单,我想使用名称或索引或 ID 单击第二个菜单,请帮助如何单击 Android UIAutomator 中的子菜单?

最佳答案

这个带有三个点的溢出菜单图标 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();
}

关于android - UIAutomator - 如何点击菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721400/

相关文章:

android - 如何在不同的 fragment 中设置 ActionBar 项目的可见性

android - 在页面加载时启动动画,在页面加载时停止

android - UIAutomator/Espresso 中的参数化

android - 无法在appium中使用Content-desc点击按钮

java - OpenFileOutput() 得到一个 nullPointerException

android - 从互联网加载图像后,Viewpager 不包装内容

安卓|在 bundle 中使用 Parcelable 数据时解码未知类型

java - 用于断言实现的表达式的字符串表示

JavaFX - MenuItem 和按钮的相同操作处理程序

android - 通过 UiAutomator 长按电源按钮