appium---元素定位方法


  在我們做自動化測試的過程中,最基本的就是要會元素定位,也是自動化中的靈魂所在,如果一個自動化測試工程師說不會定位元素定位,那么肯定也不會做自動化了。

 

如何查看元素

小伙伴們都知道如果是web端可以通過F12進行查看元素(右擊檢查查看元素)那么app如何查看呢?app的通過uiautomatorviewer工具進行元素定位,然后獲取對應的一些操作。uiautomatorviewer是Android-sdk自帶的元素定位工具。

1.打開uiautomatorviewer工具:android-sdk-windows\tools下

2.任意點擊下圖中按鈕,獲取app頁面屬相

3.通過移動鼠標放到想要定位的位置,然后查看右下角元素屬性

 

元素定位

1、通過id定位

# 格式
find_element_by_id()

點擊搜索框,查看右下角元素屬性

屬於id屬性,進行點擊等操作

# 通過ID獲取屬性
driver.find_element_by_id('com.taobao.taobao:id/home_searchedit').click()

2、通過class_name定位

# 格式
find_element_by_class_name()

繼續拿上面的圖我們做分析,發現有class=‘android.widget.EditText’

# 通過class_name進行定位
find_element_by_class_name('android.widget.EditText')

3、通過text定位

# 格式
find_element_by_link_text()

上圖發現text屬性有值為text=‘小米cc9e鋼化膜’

# 通過text進行定位
find_element_by_link_text('小米cc9e鋼化膜')

4、通過xpath定位

# 格式
find_element_by_xpath()

# xpath也可以通過id,class,name進行定位
# 通過id
find_element_by_xpath('//*[@resource-id='屬性值']')

# 通過class
find_element_by_xpath('//*[@class='屬性值']')

# 通過name
find_element_by_xpath('//*[@name='屬性值']')

# 其他屬性
find_element_by_xpath('//標簽下[@index='屬性值']')

5、通過name定位

# 格式
find_element_by_name()

# 這個工具上好像沒有name屬性,我們可以在web查看試試

6、通過tab_name定位

# 格式
find_element_by_tag_name()

7、通過css進行定位

# 格式
find_element_by_css_selector()

# css也可以通過其他屬性定位
# 通過id
find_element_by_css_selector('#id屬性')

# 通過標簽定位,盡量不要用,重復的標簽太多了,可以和其他屬性一起使用
find_element_by_css_selector('標簽名#其他屬性')

# 通過class
find_element_by_css_selector('.class屬性')

說明:在CSS中定位id屬性前面要加"#",在class屬性面前需要加“.”

詳細的css定位語法見:  https://blog.csdn.net/ouyanggengcheng/article/details/77197294

 

 

 

 

定位方法不在乎多少,在乎的是如何在最需要的時候用到它(說白了就是,那個方便用那個)

 

感覺今天的知識對您有幫助的話,點個關注,持續更新中~~~~讓我們在知識的海洋中翱翔

 


免責聲明!

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



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