Appium IOS 自动化测试,一般都是用什么定位页面元素

cherrytanlinsi · 2015年12月14日 · 最后由 cherrytanlinsi 回复于 2015年12月17日 · 1579 次阅读

IOS 页面的元素比较难捕捉,我用的是 appium 自带的工具 inspector 来查元素,用查出来的 XPath 或者 Name 来定位,确定 XPath 或者 Name 没有写错,但是有一些元素就是定位不到,请问大家有没有更好的方法,或者都是怎么解决 IOS 页面元素的定位问题的?

共收到 13 条回复 时间 点赞

加 accessibility id 。

恩,请问能不能说的详细一点,因为对这个不是很了解。怎么加 accessibility id,怎么获取页面上元素的 accessibility id?

我也是用 inspector 来定位的。

#3 楼 @lihuazhang 我是用 mac 驱动的真机来执行的,inspector 的加载非常慢,有时候一个页面要好几分钟,而且查出来的 Xpath 什么的有些跑的时候自动化定位不到,请问你有这种问题吗?

#4 楼 @cherrytanlinsi 是一般用 findElement(s) ByIosUIAutomation 这个方法,配合 uiautomation 的 predicate
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios_predicate.md

是不是没有加足够的延时
代码到了,但界面还没加载过来

#6 楼 @henry 应该不是这个原因,我等待的时间还比较长,页面 load 还挺快的

我之前是让开发加上 accessibilityLabel,对应的就是 Element 的 name 属性,用 name 进行定位。
还有就是用 UIAutomation,录制,手动点下用到的元素,然后加个延时看下能不能点到。
有时候有些元素真的是点不到了,遇到过好像是在 collectionView 中套了个 tableView,没办法,我就按照界面中相对的百分比位置进行定位的

#1 楼 @chenhengjie123 accessibility id 这个是要让开发加进去的吗

#8 楼 @delete31 不对。label 是 label。identifier 才是 name 属性

#10 楼 @addison 好吧,我看的是我以前记的笔记。有段时间没弄 UI 的自动化了

#11 楼 @delete31 我看了下官方文档,是这样写的😄

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