应用程序在UITest之间终止缓慢

时间:2018-05-22 08:45:18

标签: ios xcode uitest xcuitest

我们目前面临的问题是我们的UITest需要很长时间。

原因是从最后一个UITest终止应用程序需要20到50秒。使用90 UITest,我们目前在一轮测试中达到90分钟(由于限制为90分钟,目前我们的CI失败)。

这里是测试步骤的一小部分。

2018-05-18 11:15:34.757243+0200 OurAppUITests-Runner[46090:16633867] Currently executing: "Given the app is launched"
t =     0.21s Given the app is launched
t =     0.21s     Open de.ourApp.ourApp
t =     0.26s         Launch de.ourApp.ourApp
t =     0.26s             Terminate de.ourApp.ourApp:46132
t =    32.21s             Wait for de.ourApp.ourApp to idle

我们尝试在每个UITest结束时终止应用程序,但它只是将“等待”时间移到了UITest的末尾。

我们正在使用Cucumberish来生成小黄瓜文件的测试。但我们使用XCUITests运行测试。

我会感谢所有可能导致终止这么久的原因。

2 个答案:

答案 0 :(得分:0)

Git Bisect向我们展示了在为测试目标启用Thread Sanitizer时问题已经开始。 禁用它修复了问题。

我可能会开始一个新的问题或/并打开一个关于此问题的雷达,因为当测试在Xcode中运行时,这个问题并没有发生。只有使用xcodebuild(fastlane)才能浮出水面。

答案 1 :(得分:0)

我没有您问题的确切答案,但有一种替代方法可以解决您的时间限制问题。

您可以使用并行化,它可以同时在 3 个不同的模拟器中运行特征文件。为此,您需要编辑测试目标方案。在方案编辑菜单中选择构建选项卡并选中并行构建框。

现在尝试测试,终止仍然需要时间,但现在至少终止 3 个测试而不是一个。