环境一:
  1. Appium Version: 1.6.3
  2. Xcode Version: 8.2
  3. Mac OS Version: 10.2
  4. java-client Version: 4.1.2
  5. iOS Version: 10.2

使用以上环境测试 iOS10.2 正常后,想尝试测试 iOS9.3 以下的设备,失败告终 (在论坛上问过土豆哥@appium_test后得知,Xcode8 不支持 instruments 导致)

原来以为新版本的 appium 不能用来测试 9.3 以下的设备了,后来发现 java-client 中并没有移除 uiautomation 的 API
所以做了以下的测试:

环境二:
  1. Appium Version: 1.6.3
  2. Xcode Version: 7.3
  3. Mac OS Version: 10.2
  4. java-client Version: 4.1.2
  5. iOS Version: 7.0.4

使用以上环境测试 iOS7.0.4 正常后,但想要测试 iOS9.3 及以上设备也是做不到的。

那么问题来了,如何做到自动切换 Xcode 的版本,以达到同一台机器,同时支持 iOS9.3 及以上和 iOS9.3 以下设备测试?

方法一:使用 xcode-select -s 切换 xcode 的版本,但这需要 Root 或 sudo 来运行,很难自动化执行这一步
方法二:使用 mv 命令修改并交换两个 xcode 应用的文件夹名称,这样一来就达到了自动更新 xocde 版本的方法,经测试验证,完全 OK

至此目的达成

附:
查询 xcode 版本的方法:xcodebuild -version


↙↙↙阅读原文可查看相关链接,并与作者交流