I'm running Selenium tests on the Selenium Grid using the Surefire Plugin to execute tests. In terms of my test breakdown I have several classes, some of which have 1 test in there and some more than one test.
So on my Grid i have 30 chrome web drivers and I want to execute all tests within all classes in parallel.
I've read how to do this using the parallel
parameter which i have set as:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<includes>
<include>${testSuite}</include>
</includes>
<parallel>all</parallel>
<useSystemClassLoader>false</useSystemClassLoader>
<perCoreThreadCount>false</perCoreThreadCount>
<threadCount>20</threadCount>
<browser>${browser_type}</browser>
</configuration>
</plugin>
However this doesnt seem to fill all the Chrome web drivers I have available.
If i then use forkCount
, like:
<forkCount>20</forkCount>
<reuseForks>true</reuseForks>
Then when the test execution first starts, all web drivers are filled however it quickly starts dropping and behaving one at a time.
So my questions:
- Is there a relationship between forkCount and threadCount
- Is there anything additional I need to do to really get this running in parallel?
Thanks.