元素定位主要介紹如何使用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的專用的)