appium--xpath定位元素用法


一、xpath的使用場景:

  自動化測試中經常對元素進行操作時,如果存在id、name、content_desc時,可通過appium框架提供的方法find_element_by_id/name/tag_name來直接進行操作,經常會遇到以上屬性都不存在的情況,因此這時我們就開始使用xpath的操作來進行使用,對常用的方法進行梳理,如下:

二、xpath的基本用法

  

三、示例介紹

    1、要求達到的目的:

    打開短信---點擊設置---通過xpath的方式,實現點擊“設置”

    2、實現的步驟:

    1)通過uiautomator Viewer解析出來的結構為:

            

       2)xpath的實現:

     第一種方法:self.device.find_element_by_xpath('//android.widget.ListView/android.widget.LinearLayout[4]').click()

     解析:(1)xpath中,下標從1開始,不從0開始,因此“設置”的下標為4

        (2)仔細的話可以注意到android.widget.ListView為整個彈框的class,詳見下圖,根據圖中示例,可以推斷出,設置:find_element_by_xpath('//android.widget.ListView/android.widget.LinearLayout[4]'),我的收藏:find_element_by_xpath('//android.widget.ListView/android.widget.LinearLayout[1]').

          

      第二種方法:self.device.find_element_by_xpath("//android.widget.TextView[@text = '設置']").click()

          解析:通過text來進行點擊設置

      第三種方法:self.device.find_element_by_xpath("//android.widget.ListView/android.widget.LinearLayout[last()]").click()

          解析:根據上面的截圖就可以看出,設置屬於ListView中的最后一個,因此可以通過last直接點擊,如果是點擊倒數第二個,則使用[last()-1]即可

 

 xpath需要遍歷整個元素樹,生成一個xml數據,然后在做xpath查找,遍歷和在xml中進行xpath都相當的耗時,因此在寫自動化腳本時,盡量避免用xpath,后面遇到了其他的用法在來繼續添加......

 

1.作者:Syw 
2.出處:http://www.cnblogs.com/syw20170419/ 
3.本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 
4.如果文中有什么錯誤,歡迎指出。以免更多的人被誤導。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM