[英]Need to identify xpath for android element using appium
我正在使用Appium框架測試我的Android應用程序。 我有一個Android屏幕,其視圖沒有id(我不想添加...),所以我想使用Xpath。
這是UI Automator Viewer中屏幕的樣子:
我想得到所有的相對布局(用紅色標記 - 十六項)
我嘗試了以下方法:
List<WebElement> webElementslist =
mAppDriver.findElementsByXPath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ViewAnimator[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]");
但我沒有收到任何物品。
我在網上搜索並找到了下一個xpath教程,嘗試了更多選項,但又沒有成功。
http://www.zvon.org/comp/r/tut-XPath_1.html#intro
非常感謝任何幫助。
現在有一些令人討厭的錯誤,在Android上使用XPath來解釋你所看到的行為。 它們計划在1.3.1版本中修復
理想情況下,您可以查找所有16個RelativeLayout
的android.widget.LinearLayout
父級的resource-id,然后執行以下操作:
//android.widget.LinearLayout[@resource-id="foo"]/android.widget.RelativeLayout
你的詳細解決方案不起作用,因為你給了其中一個布局[2]
的位置。
這是固定的:
//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ViewAnimator[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.RelativeLayout
....請,請使用第一個解決方案。
我正在尋找使用UiAutomator
定位器策略的問題解決方案,但還沒有答案(因為.fromChild()
和.fromParent()
似乎被打破了)
請記住//foo[1]
返回所有foo節點的事實,這些節點是其父節點的第一個子節點(不是foo節點的第一個子節點),嘗試這樣的事情:
//ScrollView/LinearLayout/LinearLayout[2]/LinearLayout/RelativeLayout
未經測試,但它應該為您提供所有RelativeLayout,它們是LinearLayout的子項,LinearLayout是LinearLayout的子項,LinearLayout是LinearLayout的第二個子項,它是ScrollView的子項。
試試這個你可以輕松訪問
driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @bounds='[418,564][780,885]']")).click();
以下代碼對我有用:
WebElement webElement = driver.findElementByXPath("//android.widget.ListView[1]/android.widget.LinearLayout[1]");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.