Appium + Python自動化 - 元素定位uiautomatorviewer
元素定位主要介紹如何使用uiautiomatorviewer,通過定位到頁面上的元素,然後進行相應的點選等操作。uiautiomatorviewer是android-sdk自帶的一個元素定位工具,非常簡單好用,使用uiautomatorviewer,你可以檢查一個應用的UI來檢視應用的佈局和元件以及相關的屬性。
一、啟動uiautomatorviewer.bat
1.開啟目錄D:\androidsdk\android-sdk-windows\tools
2.雙擊啟動,啟動之後出現如下介面:
3.也可以使用命令列進行啟動,cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務。
二、連線手機
1.cmd開啟輸入adb devices,確認手記已連線
2.開啟手機淘寶頁面,讓螢幕處於點亮狀態
3.點選左上角的安卓機器人按鈕Devices Screenshot按鈕重新整理頁面
三、定位元素
1.移動滑鼠到需要定位的元素上,如搜尋輸入框
2.右下角可以看到元素對應的屬性
text:搭配新寵不能缺
resource-id:com.taobao.taobao:id/home_searchedit
class:android.widget.EditText
四、點搜尋框
1.前面一篇啟動app後休眠五秒,等待頁面載入完成
2.通過id來定位到搜尋框,然後點選
五、最終程式碼如下
# coding=utf-8
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': '30d4e606',
'platformVersion': '5.0',
'appPackage': 'com.taobao.taobao',
'appActivity': 'com.taobao.tao.welcome.Welcome',
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 休眠五秒等待頁面載入完成
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
六、元素定位
1.appium的webdriver提供了11種元素定位的方法,在selenium的基礎上擴充套件了三個,可以在pycharm裡面輸入driver.find_element_by然後會自動匹配出來
2.多的三個:
driver.find_element_by_accessibility_id()
driver.find_element_by_android_uiautomator()
driver.find_element_by_ios_uiautomation()
(第三個是ios的專用的)