Appium Select 按 ID 排列的元素

Appium Select Element by ID

我正在尝试将我的 SeeTest 套件转换为 Appium,但我遇到了一个大问题:

我不能 select 元素的 @id 属性。当我尝试按 ID select 时,它显示 "element not found"。当我通过 uiautomateviewer 查看 apk 时,没有元素 @id 是可见的。

SeeTest 要求 apk 为 "instrumented",以便 select @id。 Appium 是否有 "instrumentation" 的等价物?

一个好的经验法则是,如果它没有出现在 Appium 检查器中,请不要使用它。你可以做的是:

driver.findElement(By.xpath("//<UIElementType[contains(@<identifier>, '<identifier value>')]>");

标识符可以是

  • 名称或内容描述

  • 标签

  • 文本

还有一些。

希望这对您的更改有所帮助。

public void athenaclick(String element) {
    WebElement webElement = driver.findElement(By.id(element));
    webElement.click();
    System.out.println("Click element: "+element);
}   

在 seetest 中,当您检测时,您会获得额外的属性,这些属性在 appium 中可能不可用,例如:文本颜色,因为 seetest 是付费工具,而 appium 是开源工具。

原来这是因为 Appium 仅支持通过 id 选择 Android API 级别 18+。我 17 岁,所以我切换到 Selendroid Appium 后端。