我有以下设置:一个集成测试项目,其中有一套用 Groovy/Geb + Spock 编写的测试,这些测试都使用 Selenium WebDriver 和 Selenium Grid (RemoteWebDriver) 完美运行。
问题是,无论我如何尝试调整“系统”,我都无法让测试并行运行(即,虽然我有 3 个从站 [节点] 注册到集线器,但只有其中一个从站实际上接收到请求)。我已对 Selenium 节点强制执行 maxSession=1,并在故障安全插件配置(pom.xml 文件)中尝试了parallel=classes|methods、threadCount 和 fork 设置的不同组合。
我感觉问题出在 Maven 配置和 Selenium 网格之间,可能与 Geb/Spock 配置有关。
你们中有人对这个问题有任何见解吗?
PS:有人建议使用 Geb/Spock 并行运行测试是不可能的 - 因为出于某种原因?Geb?锁定 JUnitRunner(不确定这意味着什么)。
最佳答案
将以下配置添加到您的 build.gradle 文件中:
tasks.withType(Test) {
maxParallelForks = 3 // here three forks shall open in parallel
forkEvery = 1
include '**/*TestName*.class' // name of your test class
}
关于selenium-grid - Geb/Spock + Selenium Grid 上的集成测试不并行运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588723/