使用Appium v1.7.2与Xcode v9.2自动化Xcode8+开发的iOS应用是否可行?
Appium v1.7.2 + Xcode v9.2 适配Xcode 8+开发iOS应用的可行性分析
嘿,我来帮你捋捋这个配置的情况——Appium v1.7.2搭配Xcode v9.2 来自动化测试用Xcode 8+开发的iOS应用,整体是可行的,但有几个细节要留意,我分两部分给你说清楚:
一、配置本身的可行性
- Appium 1.7.x系列当时就是为适配Xcode 9.x推出的,官方版本说明里明确标注了对Xcode 9的完整支持,所以你用1.7.2搭配Xcode 9.2完全没问题,能正常启动模拟器/真机、安装应用并执行自动化脚本。
- 你的应用是用Xcode 8+开发的,编译出的包在Xcode 9.2对应的iOS系统(比如iOS 11.x)上兼容性很好,不会出现因为开发和测试环境Xcode版本差一个大版本导致的应用无法运行的问题。
二、元素检查的潜在问题
这部分要分工具和控件类型来看:
- 如果你用Appium自带的Appium Inspector(1.7.2版本配套的):
- 常规标准控件(比如
UIButton、UILabel、UITextField)的识别基本没毛病,元素的属性(比如accessibilityId、xpath)都能正常抓取。 - 但对于Xcode 8引入的部分新控件,或者用复杂Auto Layout嵌套的自定义控件,可能会出现层级识别偏差,比如父视图和子视图的层级显示错乱,或者某些自定义控件的属性抓取不全。这种情况建议结合Xcode的Accessibility Inspector来交叉验证。
- 常规标准控件(比如
- 如果你用Xcode自带的Accessibility Inspector:
- Xcode 9.2的这个工具对Xcode 8开发的应用支持很友好,只要开发团队给控件配置了正确的Accessibility属性(比如
accessibilityIdentifier),就能精准定位元素。但如果某些自定义控件没开启Accessibility权限,那不管用什么工具都很难识别到,这时候得找开发同学补配置。
- Xcode 9.2的这个工具对Xcode 8开发的应用支持很友好,只要开发团队给控件配置了正确的Accessibility属性(比如
- 还有个小坑:Appium 1.7.2对iOS 11的系统弹窗(比如位置权限、通知权限请求)的元素识别稳定性一般,不过这和应用的开发版本关系不大,主要是当时Appium版本的局限性,你可以通过设置
autoAcceptAlerts这个Desired Capability来自动处理这类弹窗,减少识别问题。
内容的提问来源于stack exchange,提问作者user5024478
相关产品推荐
相关产品推荐

