我正在设置 iOS 自动构建/测试流程。我用过的一些工具是,
- Bamboo CI(如 Jenkins)
- 葫芦-ios
- 一些自酿的 bash 来包装结帐/构建/测试流程
- 只有模拟器运行测试,暂时没有真机
- 用于自动构建/测试的专用 Mac mini
为了使复杂的测试用例并行运行,需要多个模拟器同时运行。我使用这个工具来启用多个模拟器(默认情况下 iOS 模拟器不允许多个实例),现在我可以在不同用户的不同 VNC 控制台中运行它们到我的 Mac mini。
然后我遇到了另一个问题,Calabash iOS 框架似乎硬编码了端口(37265)以供外部连接(黄瓜客户端库),所以我仍然无法运行并发 Calabash 测试,因为不同的模拟器实例会在同一个端口 127.0.0.1 上发生冲突: 37265。
但是calabash-cucumber允许指定要连接的测试设备(或模拟器)的ip:端口,如果我可以预先创建监听不同ip的模拟器,显式加载应用程序并告诉cucumber连接到指定的ip:端口,那么并发测试的想法仍然有效。但似乎 iOS 模拟器以某种方式被硬编码为听 127.0.0.1 接口,对吧?知道如何告诉模拟器将自己桥接到指定的网络接口吗?如果可行,只需设置多个测试用户 + 多个网络接口即可在 iOS 模拟器上进行并行测试。
但也让我知道我是否以错误的方式做这件事。谢谢。