iOS appium操作元素常用方法

16 篇文章 1 订阅
6 篇文章 1 订阅

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')]")

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值