The following worked for me with the dependencies mentioned in pom.xml
If you are on 7.8.0 TestNG downgrade it to 7.7.0
pom.xml
If you are on 7.8.0 TestNG downgrade it to 7.7.0
or
do not take testng dependency rather take cucumber-testng and cucumber-java both versioned 7.12.0
Eclipse console log:
[RemoteTestNG] detected TestNG version 7.8.0SLF4J: Failed to load class"org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. java.lang.NoSuchMethodError:'void org.testng.TestRunner.<init>(org.testng.internal.IConfiguration, org.testng.ISuite, org.testng.xml.XmlTest,boolean, java.util.Collection, java.util.List)' at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33) at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66) at org.testng.ITestRunnerFactory.newTestRunner(ITestRunnerFactory.java:52) at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:720) at org.testng.SuiteRunner.init(SuiteRunner.java:224) at org.testng.SuiteRunner.<init>(SuiteRunner.java:116) at org.testng.TestNG.createSuiteRunner(TestNG.java:1375) at org.testng.TestNG.createSuiteRunners(TestNG.java:1349) at org.testng.TestNG.runSuitesLocally(TestNG.java:1191) at org.testng.TestNG.runSuites(TestNG.java:1114) at org.testng.TestNG.run(TestNG.java:1082) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
pom.xml
<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>CucumberParallelExecutionTestNG</groupId><artifactId>CucumberParallelExecutionTestNG</artifactId><version>0.0.1-SNAPSHOT</version><name>CucumberParallelExecutionTestNG</name><description>CucumberParallelExecutionTestNG</description><dependencies><dependency><groupId>io.cucumber</groupId><artifactId>cucumber-java</artifactId><version>7.12.0</version></dependency><!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java --><dependency><groupId>io.cucumber</groupId><artifactId>cucumber-testng</artifactId><version>7.12.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.10.0</version></dependency>
<!-- Comment testng dependency since pom already has cucumber-testng or you could enable the dependency with downgraded version 7.7.0 --><!-- https://mvnrepository.com/artifact/org.testng/testng --><!-- <dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.8.0</version></dependency> --><dependency><groupId>tech.grasshopper</groupId><artifactId>extentreports-cucumber7-adapter</artifactId><version>1.2.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.mail/mail --><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency></dependencies><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.1.2</version><configuration><suiteXmlFiles><suiteXmlFile>testng.xml</suiteXmlFile></suiteXmlFiles></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><source>17</source><target>17</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.1.1</version><configuration><archive><manifest><addClasspath>true</addClasspath><mainClass>runners.CucumberRunnerCLI</mainClass></manifest><manifestEntries><Class-Path>.</Class-Path></manifestEntries></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></pluginManagement></build></project>