我可以并行运行多个 iOS UI 测试吗?

Posted

技术标签:

【中文标题】我可以并行运行多个 iOS UI 测试吗?【英文标题】:Can I run several iOS UI Tests in Parallel? 【发布时间】:2017-12-11 14:54:51 【问题描述】:

我正在为我的 ios 应用构建一个 UI 测试套件。我需要在几个不同的设备上测试我的应用程序的功能,但现在我必须选择我想要的模拟器,运行测试,然后重复。

现在 Xcode 支持多个模拟器并行运行,有没有办法同时在多个不同的设备模拟器上运行 UI 测试?

【问题讨论】:

你检查过github.com/linkedin/bluepill 吗? 我可以按照本指南做到这一点:medium.com/@t.camin/parallelizing-ui-tests-28c16000f141。 【参考方案1】:

在与项目相同的目录中运行以下命令,以从命令行并行运行测试:

xcodebuild test -scheme "YourSchemeName" -destination 'platform=iOS Simulator,OS=11.2,name=iPhone 8' -destination 'platform=iOS Simulator,OS=11.2,name=iPhone 6s'  -configuration "Debug" ENABLE_TESTABILITY=YES SWIFT_VERSION=4.0 ONLY_ACTIVE_ARCH=YES

您可以为不同的目的地添加-destination 'platform=iOS Simulator,OS=11.2,name=iPhone 8',根据需要添加任意数量的不同目的地。

有关可用的模拟器名称和操作系统的列表,请运行以下命令:

instruments -s devices

请记住,如果您在模拟器中运行测试,则在通过命令行运行测试时您不会在屏幕上看到模拟器。

【讨论】:

【参考方案2】:

在 Xcode 中:

    在 Xcode 中选择您的目标方案,然后“编辑方案...” 找到“测试”的设置,然后点击“信息”标签 您将看到单元和 UI 测试的列表,按下相关的 “选项...”按钮 选择“在模拟器上并行执行” 可选择“随机执行顺序”


命令行:

看这个答案here

【讨论】:

以上是关于我可以并行运行多个 iOS UI 测试吗?的主要内容,如果未能解决你的问题,请参考以下文章

在多核CPU下,同一进程下的多个线程可以并行运行吗

TestNG 可以运行多个套件吗?

android中的asynctask可不可以并行执行多个

一个文件中的测试是不是在 Jest 中并行运行?

Java 可以并行运行同一个套接字的多个实例吗?

没有模拟器或设备的 IOS UI 测试