ios - 在同一 iOS 设备上使用 xcodebuild 运行并行测试
问题描述
我有一个项目,它有一个 Xcode 测试套件,我想通过使用“xcodebuild ... 测试”命令来实现一个 CI 系统。我唯一的限制是硬件。我仅限于 2 台 Mac 和 2 台 iPad,而且我还想为 Debug 和 Release 构建。问题是我有不同的应用程序风格,我想在一台 iPad 上运行其中的一部分(例如调试时的所有风格),而在另一台 iPad 上运行其他风格。我尝试使用“tests”参数多次调用“xcodebuild”命令,希望它会被并行化,但问题是它会杀死已经在设备上运行的测试应用程序实例。
我花了一些时间寻找这样做的人,但唯一接近我需要的是使用多个 iOS 模拟器,我不舒服,因为该项目需要真实的设备测试。
是否可以在同一设备上运行并行测试?我是否缺少一些需要添加到 xcodebuild 命令的参数?
解决方案
不,您一次只能在一台设备上运行一项测试操作。这就是人们使用多个模拟器的原因,因为如果您需要多次运行相同的测试,您可以将它们全部设置为相同的操作系统。
不是您正在寻找的答案,但您可以使用 Xcode 服务器来拥有多个机器人,每种机器人都有一个。如果它们都指向同一个 repo / 分支,那么它们应该一个接一个地运行。这将意味着更少的手动工作来构建一个工具来做到这一点。
我还以为我在某处读到使用 Xcode 10 可以跨多个 Xcode 服务器进行负载平衡,但找不到指向它的链接。如果您有 2 台机器,这可能会有所帮助。如果不是,您可以在两个 Xcode 服务器上复制机器人。也许使用 API 来控制机器人的创建?
推荐阅读
- android - 使用颤振更新应用程序以第二次播放商店
- android - 屏幕外的按钮 - Android
- javascript - Angular 6 - 导航到子路由刷新整个页面
- python - 我可以根据 keras 的验证损失终止一个时期(并进入下一轮权重初始化)吗?
- ethereum - 可重入攻击的智能合约良好实践
- modx-revolution - 升级到 MODX 2.6.5 后无法通过文件管理器上传任何文件
- mysql - MySQL如何对varchar值进行排序
- reactjs - 在 React:Module not found: Can't resolve 'react-router-dom'
- c++ - c++中的层次抽象
- python - 样本分布模拟未产生正态分布