除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。
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"
其他定位请参考 App 控件定位章节哦,如果大家有其他想了解的知识点也可以在下方留言哦!小编尽量满足大家的需求哈~
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取