iOS自动化定位方法

简介

除了通用定位方式外,iOS 还有其他特殊的定位方式,其他定位方法与 APP 控件定位一致。

PredicateString 定位

样本元素截图:

使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。

元素属性

  • type: 元素类型,等同于 className

  • name: 当前元素的文本信息,一般等于 label

  • label: 与 name 一致

  • enabled: 当前元素是否可点击,一般为 true 或 false

  • visible: 当前元素是否可见,一般为 true 或 false

比较运算符

==>=<=><!=<>,可用来比较数值或字符串

例如:


label == "SYSTEM (TEXT)"

逻辑运算符

ANDORNOTAND等同于&&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*"

其他

BEGINSWITHENDSWITHCONTAINS

例如:


# 匹配属性为 label ,value为 SYSTEM 开头的元素

label BEGINSWITH "SYSTEM"

# 匹配属性为 label ,value为 (TEXT) 结尾的元素

label ENDSWITH "(TEXT)"

# 匹配属性为 label ,value包含 TEXT 结尾的元素

label CONTAINS "TEXT"