0

我们目前面临的问题是我们的 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 运行测试。

对于可能导致终止需要这么长时间的各种原因,我将不胜感激。

4

2 回答 2

0

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

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

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

于 2020-12-28T09:32:10.843 回答
0

Git Bisect 向我们展示了问题是在为测试目标启用 Thread Sanitizer 时开始的。禁用它可以解决问题。

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

于 2018-05-22T14:41:53.027 回答