我正在通过 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/