Android 操作栏菜单选项按钮元素id为空-如何设置?

Android 操作栏菜单选项按钮元素id为空-如何设置?,android,appium,popupmenubutton,Android,Appium,Popupmenubutton,截图: 我正在尝试使用appium中的元素ID来自动单击菜单按钮。默认情况下,它不设置,并且在没有元素ID或文本的情况下显示NULL。这是不可能的。有人能帮我吗?您总是可以通过XPath找到元素,可以通过以下方式完成: 使用注释声明元素(请记住导入@FindBy): @FindBy(xpath=“//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TextView[1]”) 私有WebEle

截图:


我正在尝试使用appium中的元素ID来自动单击菜单按钮。默认情况下,它不设置,并且在没有元素ID或文本的情况下显示NULL。这是不可能的。有人能帮我吗?

您总是可以通过XPath找到元素,可以通过以下方式完成:

  • 使用注释声明元素(请记住导入@FindBy):
  • @FindBy(xpath=“//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TextView[1]”)
    私有WebElement元素名

  • 在代码中使用findElement:
    driver.findelementbypath(“putXpathHere”)
  • 元素的XPath可以在Appium的inspector中的ID下面找到

    在这种情况下,如果您想使用id而不是xpath,恐怕必须在应用程序代码中添加资源id。

    您可以使用:

    driver.findElementByName("Open navigation drawer").click();
    


    您可以使用它的内容描述单击汉堡图标。像这样:

        driver.findElementByAccessibilityId("Open navigation drawer").click();
    

    请记住,使用内容描述值有点冒险。当设备语言更改时,内容描述将相应地更改为所选语言。@Slavo我从来没有遇到过这个问题。此外,我还提供了第二种选择。谢谢
        driver.findElementByAccessibilityId("Open navigation drawer").click();