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 后端。
我正在尝试将我的 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 后端。