IOS 自动化测试中常用的定位方式

IOS_PREDICATE :最常用的定位方式,可以通过属性文本内容进行定位
name=="立即购买" 或 name LIKE "立即*" 等等,可以查下还有几种方式

NAME :name 属性有内容的话并且与 accessibility id 表达式内容一样的话,那可以选择 NAME。它的查找速度更快

Accessibility id:绝对唯一,也是常用的定位方式。

XPATH:最不好用的定位方式,但也分情况使用。一般 Selected Element 框里显示的 xpath 定位表示不一定用它的。比如说这个页面只有一个 XCUIElementTypeButton,那就直接可以//XCUIElementTypeButton 定位,他给你的可能是更长的中间夹杂着绝对定位的表达式,这样查找就很慢了,可能后面出问题。你也可以自己写一个 xpath 表达式。xpath 不能使用 eles,要求 xpath 表达式就是唯一。其他的可以,但可以在写 xpath 表达式的时候使用下标。从 1 开始
image.png
image.png

例子:Selected Element 给的 XPATH:(//XCUIElementTypeOther[@name="¥2 "])[1] 很不灵活,文本金额是会变的,不适用,可能有的中间夹杂很多绝对定位
自己写的:(//XCUIElementTypeOther[contains(@name,"¥")]) [1] 通过下标定位。
建议实在只能 XPATH 定位的,中间夹杂绝对定位,表达式很长的。可以自己写个 xpath 定位

坐标定位:最不想用的定位。只能进行简单的点击操作。不过我们做 iOS 的时候,是会遇到有些控件是抓不到元素的,比如下拉列表,有的话你运气好,没有的话就只能坐标了。

顺序:NAME 或 CLASS NAME------Accessibility id---------IOS_PREDICATE---------XPATH---------坐标

回帖
请输入回帖内容 ...