在咱們作自動化測試的過程當中,最基本的就是要會元素定位,也是自動化中的靈魂所在,若是一個自動化測試工程師說不會定位元素定位,那麼確定也不會作自動化了。css
小夥伴們都知道若是是web端能夠經過F12進行查看元素(右擊檢查查看元素)那麼app如何查看呢?app的經過uiautomatorviewer工具進行元素定位,而後獲取對應的一些操做。uiautomatorviewer是Android-sdk自帶的元素定位工具。android
1.打開uiautomatorviewer工具:android-sdk-windows\tools下web
2.任意點擊下圖中按鈕,獲取app頁面屬相windows
3.經過移動鼠標放到想要定位的位置,而後查看右下角元素屬性app
# 格式 find_element_by_id()
點擊搜索框,查看右下角元素屬性工具
屬於id屬性,進行點擊等操做測試
# 經過ID獲取屬性 driver.find_element_by_id('com.taobao.taobao:id/home_searchedit').click()
# 格式 find_element_by_class_name()
繼續拿上面的圖咱們作分析,發現有class=‘android.widget.EditText’ui
# 經過class_name進行定位 find_element_by_class_name('android.widget.EditText')
# 格式 find_element_by_link_text()
上圖發現text屬性有值爲text=‘小米cc9e鋼化膜’spa
# 經過text進行定位 find_element_by_link_text('小米cc9e鋼化膜')
# 格式 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='屬性值']')
# 格式 find_element_by_name() # 這個工具上好像沒有name屬性,咱們能夠在web查看試試
# 格式 find_element_by_tag_name()
# 格式 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屬性面前須要加「.」.net
詳細的css定位語法見: https://blog.csdn.net/ouyanggengcheng/article/details/77197294
定位方法不在意多少,在意的是如何在最須要的時候用到它(說白了就是,那個方便用那個)
感受今天的知識對您有幫助的話,點個關注,持續更新中~~~~讓咱們在知識的海洋中翱翔