我想我SeeTest套件转换成Appium,但我有一个大问题:Appium选择元素的ID
我不能选择通过他们的@id
属性的元素。当我尝试按ID选择时,它会显示“找不到元素”。当我通过uiautomateviewer查看apk时,看不到任何元素@id
。
SeeTest需要一个apk来成为“仪器化”,以便通过@id
进行选择。 Appium有没有相当的“仪器”?
我想我SeeTest套件转换成Appium,但我有一个大问题:Appium选择元素的ID
我不能选择通过他们的@id
属性的元素。当我尝试按ID选择时,它会显示“找不到元素”。当我通过uiautomateviewer查看apk时,看不到任何元素@id
。
SeeTest需要一个apk来成为“仪器化”,以便通过@id
进行选择。 Appium有没有相当的“仪器”?
原来这是因为Appium只支持通过Android API级别18+的id进行选择。我17岁,所以我切换到Selendroid Appium后端。
一个很好的经验法则是,如果它没有出现在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是开源的。
如果您使用'id''定位器策略,如果您使用xpath或'id'(而不是'@ id'),则使用'@ resource-id'。但是,在xpath的情况下,您需要完整的id,包名和':id /'部分。 – njzk2
@ njzk2否@ @ resource-id在uiautomatorviewer中都可见。我正在使用API版本17(Android 4.2.2),如果这是相关的 –
resource-id仅仅是您在您的视图中的id xml布局 – njzk2