Loading

Appium - iOS 定位

iOS Predicate String 定位表达式结构:属性 + 运算符 + 值

# == 运算符:
# 属性 label 的值 与 字符串 "SYSTEM(TEXT)" 相等
label == "SYSTEM(TEXT)"

# AND 运算符
# 同时满足多个条件
label == "SYSTEM(TEXT)" AND enabled == true

运算符

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

范围运算符:可用于数值和字符串的范围比对,IN、BETWEEN

字符串相关运算符:CONTAINS \ BEGINSWITH \ ENDSWITH

逻辑运算符:AND \ OR \ NOT

模糊匹配:LIKE

  • 匹配一个字符?label LIKE "a?c?de"
  • 匹配多个字符*label LIKE "a*"

正则表达式:MATCHES

  • label MATCHES '^a.+d$'

元素属性

  • type:元素类型,className
  • name:元素文本内容,AccessibilityId 定位方式
  • label:绝大数情况下,与 name 一致
  • enabled:元素是否可点击,布尔值
  • visible:元素是否可见,布尔值

webview

网页 和 混合应用的区别就是设置 bundleID 不一致。网页应用为 safari 浏览器,混合应用为应用名称。

真机调试

手机 - 设置 - safari浏览器 - 高级 - 打开网页检查器

# 安装 ios-webkit-debug-proxy
$ ios_webkit_debug_proxy -f \ chrome-devtools://devtools/bundled/inspector.html

# 访问:http://127.0.0.1:9221/
posted @ 2023-03-10 14:44  ABEELAN  阅读(97)  评论(0编辑  收藏  举报