在平底锅中并行运行测试最终会减慢速度

时间:2019-06-11 08:21:16

标签: java gradle junit saucelabs

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

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

这是我在build.gradle中拥有的

include `<my_tests_packages>`
maxParallelForks = 4

我的TeamCity构建刚刚运行 clean test

有人遇到过这样的问题。我希望所有4个会话都可以使用,同时至少还要进行4个测试。

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

1 个答案:

答案 0 :(得分:0)

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

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

此外,系统上的内存使用量是多少?如果您分叉JVM而不清理它们,则可能会遇到可用内存最大化或交换内存的问题。