iOS appium操作元素常用方法

1.ios_predicate(推薦,用的多)

在 iOS 的 UI 自動化中,使用原生支持的Predicate定位方式是最好,可支持元素的單個屬性和多個屬性定位,強烈推薦使用

driver.find_element_by_ios_predicate("value == 'ClearEmail'")

driver.find_element_by_ios_predicate("type == 'XCUIElementTypeButton' AND value == 'ClearEmail'")

2.accessibility_id (name或者id屬性都用該方法,用的多)

替代以前的name定位方式,在 iOS 上,主要使用元素的label或name(兩個屬性的值都一樣)屬性進行定位,如該屬性爲空,也是不能使用該屬性。

driver.find_element_by_accessibility_id('ClearEmail')

el = self.driver.find_element_by_accessibility_id('SomeAccessibilityID')

3.class_name(一般用的少)

使用元素的type屬性定位,特別注意該屬性的唯一性!class_name唯一的情況並不多,一般情況下用不上。

driver.find_element_by_class_name('XCUIElementTypeButton')

4.xpath(不推薦)

由於 iOS 10開始使用的 XCUITest 框架原生不支持,定位速度很慢,所以官方現在不推薦大家使用,也有其他替代的定位方式可使用。

1)使用絕對路徑定位:

driver.find_element_by_xpath('/XCUIElementTypeApplication/XCUIElementTypeButton')

2)使用相對路徑定位

driver.find_element_by_xpath('//XCUIElementTypeButton')

3)通過元素的索引定位

driver.find_element_by_xpath('//XCUIElementTypeButton[index]')

4.通過元素的屬性定位

一種屬性:

driver.find_element_by_xpath("//className[@value='ClearEmail']")

兩種屬性:

driver.find_element_by_xpath("//className[@value='ClearEmail'][@ visible =true]")

部分屬性(最強大):driver.find_element_by_xpath("//className[contains(@value,'ClearEmail')]")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章