我想我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