3

我正在设置 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 模拟器上进行并行测试。

但也让我知道我是否以错误的方式做这件事。谢谢。

4

1 回答 1

0

现在可以通过将以下三元组添加到应用程序的 Info.plist 来基于每个应用程序更改 Calabash 端口:

CalabashServerPort NSNumber < port number >

您仍然会受到 Apple 对工具进程的限制:只能有一个活动的工具进程。此外,如果 Instruments.app 打开,则仪器命令行工具将不起作用。

其他帖子建议使用虚拟机,但我没有这方面的经验。

于 2015-05-29T12:06:51.117 回答