java - 在 Saucelabs 中并行运行测试最终会变慢

标签 java gradle junit saucelabs

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

我尝试将 maxParallelForks 的数量增加到 6,希望这能够弥补速度下降的影响,但现在 Saucelabs 提示测试配置错误,并希望我升级我的计划。

这就是我在 build.gradle 中的内容

include `<my_tests_packages>`
maxParallelForks = 4

我的 TeamCity 构建刚刚运行 干净的测试

有谁遇到过这样的问题吗?我预计所有 4 个 session 都会被使用,同时至少还有 4 个测试。

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

最佳答案

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

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

此外,您系统的内存使用情况是多少?如果您 fork JVM 并且不清理它们,您可能会遇到最大可用内存或交换。

关于java - 在 Saucelabs 中并行运行测试最终会变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539369/

相关文章:

IDE之外的Java连续测试

java - 如何在向下导航对象时递归验证空值?

java - 如何在linux (debian) 上的Eclipse 中查看JRE 的源代码

java - 检测输入多少单词的算法,也支持多句(Java)

Android Studio,Gradle 更新错误

grails - 为什么需要Grails-Gradle插件?

java - apache commons FileUtils.copyFile 错误系统资源不足,无法完成请求

java - 多个showMessageDialog可以断swing吗?

android - 无法解析com.google.android.gms.play-service:8.1.0

Java JUnit 测试错误