运行 saucelabs 中的并行测试在最后变慢

Running tests in parallel in saucelabs slows down at the end

我正在 运行通过 TeamCity 在 Saucelabs 上并行进行 JUnit Selenium 测试。我有 4 个并发会话可用和 125 个测试。当我 运行 开始构建时,一切似乎都很好。同时有 4 个测试 运行。但是在第 90 次测试左右,并发会话变为 3,然后是 2,最后 5 个左右是 运行 1 x 1。

我试图将 maxParallelForks 的数量增加到 6,希望这能弥补速度下降的问题,但现在 Saucelabs 抱怨测试配置错误,并希望我升级我的计划。

这是我在 build.gradle

include `<my_tests_packages>`
maxParallelForks = 4

我的 TeamCity 只构建了 运行 clean test

有没有人遇到过这样的问题。我希望在至少还有 4 个测试时使用所有 4 个会话。

编辑: 每个 class 中只有一个 @Test。 不幸的是,我被迫使用 Gradle 而不是 Maven。

在这种情况发生之前,您的测试大约执行了多长时间?

Sauce Labs 浏览器 VM 在总执行时间超过 30 分钟后可能会变慢并变得不稳定。防止这种情况的方法是为每个测试使用一个新的浏览器会话。

另外,您的系统内存使用情况是多少?如果您正在分叉 JVM 而不清理它们,您可能 运行 进入最大可用内存或交换。