元素定位
pp自動化測試過程中最重要一個環(huán)節(jié)就是元素定位艇拍,只有準(zhǔn)確定位到了元素才能進行相關(guān)元素的操作桑包,如輸入、點擊函筋、拖拽蒂培、滑動等
元素定位方式
id
Appium中使用?find_element_by_id()?方法來進行id定位再愈。
name
根據(jù)name進行定位,對于android來說护戳,就是text屬性
使用?find_element_by_name()?方法來進行name定位翎冲, 由于text穩(wěn)定性不是很好,所以appium 1.5開始廢棄了該方法媳荒。
class
classname定位是根據(jù)元素類型來進行定位抗悍,但是實際情況中很多元素的classname都是相同的,一般情況下如果有id就不必使用classname定位钳枕。
使用find_element_by_class_name()?方法來進行class定位
List定位
List定位首先是使用find_elements_by_XX獲取一組相同的class屬性的元素缴渊,然后使用數(shù)組下標(biāo)來區(qū)分標(biāo)記不同元素進行相關(guān)操作。
相對定位
相對定位是先找到該元素的有對應(yīng)屬性的父元素節(jié)點鱼炒,然后基于父元素進行元素定位衔沼。
Xpath定位
xpath定位是一種路徑定位方式,主要是依賴于元素絕對路徑或者相關(guān)屬性來定位,但是絕對路徑xpath執(zhí)行效率比較低(特別是元素路徑比較深的時候)指蚁,一般使用比較少菩佑。通常使用xpath相對路徑和屬性定位。
H5頁面元素定位
Uiautomator定位
UIAutomator元素定位是 Android 系統(tǒng)原生支持的定位方式欣舵,雖然與 xpath 類似擎鸠,但比它更加好用,且支持元素全部屬性定位.定位原理是通過android 自帶的android uiautomator的類庫去查找元素缘圈。?Appium元素定位方法其實也是基于Uiautomator來進行封裝的劣光。? ? 使用方法?find_element_by_android_uiautomator()?可以運用UiAutomator元素定位。
id定位:? 根據(jù)元素的resource-id屬性來進行定位
eg:driver.find_element_by_android_uiautomator('newUiSelector().resourceId("xxx")').send_keys('xx')
text定位:根據(jù)元素的text屬性值來進行定位
eg:driver.find_element_by_android_uiautomator\('new UiSelector().text("xx")').send_keys('xxx')
class定位:
eg:driver.find_element_by_android_uiautomator\ ('new UiSelector().className("xx")').send_keys('xx')