Appium appium 对 ios 自动化测试:IOS 元素如何精确定位?元素 id 如何获得?用 xpath 不合适,经常会变化

luckyv · 2015年01月21日 · 最后由 Giga 回复于 2015年01月24日 · 2121 次阅读

1 如题,软件处于开发期,用 appium inspector 获得 ios 控件 xpath 编写测试脚本,发现控件 xpath 经常会变,导致测试脚本需要经常修改。希望能获得控件的 id 或其他能唯一定位控件位置的参数来定位控件位置,有什么好用的工具获得控件的 id 或者通过何种方式能唯一定位控件位置呢?
请教了 ios 开发,这里说的 ios 控件 id 貌似是 tag_name 吧,可是有很多控件没有定义 tag_name,此时如何定位呢?class name 或者什么方式呢?
2 xpath 定位控件的所有格式都有哪些呢?希望各位前辈指点下

共收到 6 条回复 时间 点赞

我也遇到这个问题,就算 Xpath 不变,在同一个测试用例中,第一次使用 xpath 能正确找到控件,但如果对其他控件再次使用 xpath 就有问题,报找不到该控件,感觉有个什么缓存机制,如果确实有,有什么办法可以在每次使用 xpath 前清空缓存的吗?求教

为嘛从来没遇到过你们说的问题,我用的是 xpath 和 name,classname。用这三个基本搞定整个项目。你们的 app 应该还不是很稳定的阶段,所以变 xpath 是很正常的 。

匿名 #3 · 2015年01月22日

我们 Android、iOS 都是 xpath 搞定所有。。对了,xpath 用的都必须是相对路径!

使用 selenium 时也碰到类似的问题,我的经验是寻找不变的标识符去定位。这点也可以跟开发人员协调一下,让其提供唯一的元素标识符。此外考虑使用 ActionChains,也可以解决定位难题。

#3 楼 @link1220 相对路径是怎么使用的?能提供个例子吗?

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