Appium wda 查找控件的 using 字段求解惑

cmlanche · 2020年12月23日 · 最后由 cmlanche 回复于 2020年12月24日 · 1932 次阅读

这是这个接口的 api 文档:https://documenter.getpostman.com/view/1837823/TVmMhJNB#201db857-baba-4072-a275-cfb8e8dd8d08

获取元素

根据调解查找元素,如果有多个,则返回第一个

参数表:

字段名 含义 示例 类型
using 查找值的类型,可选值见下 "using": "class name" 字符串
value 类型的值 "value": "XCUIElementTypeStaticText", 字符串

using 可选的值:

  • partial link text / link text
  • class name
  • class chain
  • xpath
  • predicate string
  • name / id / accessibility id

问题:
其中 partial link text、class chain、predicate string 分别是什么意思?
还有 id 和 accessibility id 有啥区别吗?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
最佳回复

partial link text 只是 link text 衍生出来的变种,意思相近,选择该元素的部分的字段。
class chain 我把他这样摆成给你看 class name 不需要继续解释了把
predicate string 不就是数组元素的类型为数值么
两个 ID 就不说了

共收到 2 条回复 时间 点赞

partial link text 只是 link text 衍生出来的变种,意思相近,选择该元素的部分的字段。
class chain 我把他这样摆成给你看 class name 不需要继续解释了把
predicate string 不就是数组元素的类型为数值么
两个 ID 就不说了

刚刚调试发现,如果采用 predicate string 的话,在匹配字符串的时候,会自动给文本左右加 *,来模糊匹配
如日志:

16:52:29,668 INFO  - WDAStarter: t =    15.98s Find: Elements matching predicate 'wdName LIKE "*添加*" AND (1 == 1 OR identifier == 0 OR frame == 0 OR value == 0 OR title == 0 OR label == 0 OR elementType == 0 OR enabled == 0 OR placeholderValue == 0 OR selected == 0)' - [pool-6-thread-1](12-24 16:52:29,668)

predicate 是谓词的意思,模糊匹配谓词

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册