目的

实现启动多个 appium 服务,同时在不同的模拟器上执行多个不同的测试 case

遇到的问题

问题一

用一个 xcode 启动多个模拟器
正常启动一个模拟器后,命令再启动另外一个模拟器

cd /Applications/Xcode.app/Contents/Developer/Applications/
open -n Simulator.app/

启动后,通过 Hardware-Device 选择一个其他不同的版本或者型号,同样的方法启动了多个模拟器;

然后启动多个 appium 不同端口的 server,因为模拟器不能指定 udid 去执行,所以单通过端口号,deviceName 区别设备,执行不同测试 case 时模拟器不能区别不同的模拟器。
查了查原因:Appium 底层是通过 UIAutomation 的 instrument 来驱动运行的,通过 instrument 启动运行,默认会启动当前使用的 Xcode 版本安装的最新版本的 SDK;就是说同一个 xcode 启动的模拟器 appium 认的都是一个。

问题二

通过安装不同版本的 xcode 启动多个模拟器测试,但是这样需要不停切换系统使用的 xcode 版本来启动不同的模拟器,执行 case 也是串行的,也不能实现同时执行多个不同的 case 在不同的模拟器上。

求助,有没有同学遇到这样的情况,在不同的 iOS 模拟器上并行执行不同的 case,我的问题现在是卡在如何去处理多个可用模拟器。
有看到 Bluepill 的文章,Bluepill 用的不是 appium,不知道测试中好不好使,做最后考虑使用。


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