Gradle & TestNG Parallel Data Provider Thread Count Issue
Too Many Test Threads
I use TestNG and Gradle for some of the Selenium automation projects I work with.
We’ve run tests in parallel using -Dthreadcount=10 and have recently created
some data driven tests using TestNG’s @DataProvider.
However when using @DataProvider(parallel = true) we were seeing 20 tests
being executed at the same time not just 10!
As it turns out, TestNG has a separate thread pool for data providers,
with a default of 10 threads - thus causing the unexpected behaviour.
Solution
To solve this you can add -Ddataproviderthreadcount=1 to the JVM command line
or specify it in the testNG part of the Gradle file.
This also works for IntelliJ when running TestNG tests, add
-Ddataproviderthreadcount=1 to the VM Arguments section.
