简介
除了通用定位方式外,iOS 还有其他特殊的定位方式,其他定位方法与 APP 控件定位一致。
PredicateString 定位
样本元素截图:
使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。
元素属性
-
type: 元素类型,等同于 className
-
name: 当前元素的文本信息,一般等于 label
-
label: 与 name 一致
-
enabled: 当前元素是否可点击,一般为 true 或 false
-
visible: 当前元素是否可见,一般为 true 或 false
比较运算符
==
,>=
,<=
,>
,<
,!=
,<>
,可用来比较数值或字符串
例如:
label == "SYSTEM (TEXT)"
逻辑运算符
AND
,OR
,NOT
,AND
等同于&&
;OR
等同于||
;NOT
等同于!
例如:
label == "SYSTEM (TEXT)" AND enabled == true
label == "SYSTEM (TEXT)" OR name == "SYSTEM (TEXT)"
label == "SYSTEM (TEXT)" && NOT enabled != true
模糊匹配 LIKE
? 和 * 都可以作为通配符,?
匹配一个字符,*
匹配多个字符。
例如:
label LIKE "SYSTEM (TEXT)"
label LIKE "?YSTEM (TEXT)"
label LIKE "SYSTEM??TEXT)"
label LIKE "* (TEXT)"
label LIKE "SYSTEM*"
其他
BEGINSWITH
,ENDSWITH
,CONTAINS
例如:
# 匹配属性为 label ,value为 SYSTEM 开头的元素
label BEGINSWITH "SYSTEM"
# 匹配属性为 label ,value为 (TEXT) 结尾的元素
label ENDSWITH "(TEXT)"
# 匹配属性为 label ,value包含 TEXT 结尾的元素
label CONTAINS "TEXT"