Appium使用WebDriverAgent之后,新增了一种定位方法iOSNsPredicate,总结了一下使用方法:
name = 'head new'
// 等于
name LIKE '*new'
// 模糊匹配
name MATCHES '^$'
// 正则表达式匹配
name CONTAINS '我的'
// 包含
name BEGINSWITH '我的'
// 以"我的"开始
name BEGINSWITH '我的' && name ENDSWITH '消息'
// 以"我的"开始并且以"消息"结尾
其中属性名参照inspector的属性字段,关键字LIKE,MATCHES,CONTAINS,BEGINSWITH,ENDSWITH必须是大写,匹配的字符需要用单引号
官方参考地址:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios_predicate.md
选择定位方式的判断:
如果显示在界面的文本唯一或是第一个出现:使用accessibility
如果class唯一或是第一个出现:className
ID或class不方便定位,控件属性有明确的匹配规则:iOSNsPredicate
如果有工具可以直接给出准确的xpath:xpath
实在不行就用坐标吧
2 如果控件的属性visible是false的话,请使用控件坐标并获取中心点用tap点击,直接点击控件会失败