Issue
Working with TestNG on a maven managed project, i can't seem to run tests via the TestNG eclipse plugin. When trying to run tests, the following error message pops up (inside a dialog window):
Couldn't contact the RemoteTestNG client. Make sure you don't have an older version of testng.jar on your class path.
Reason:
Timeout while trying to contact RemoteTestNG.
How to resolve this?
Things I have tried
(After asking all my peers at the office QA department on this, and looking up information via the common search engines and on TestNG forums)
- Making sure I don't have an older version on my class path (naturally).
- Eliminating possible collisions between maven imported jars and jars used by the TestNG eclipse plugin (both are of version 6.7, and the project's
pom.xml
confirmed to use only its own dependent jar). - Performing maven update and build after said changes.
- Running on a different JRE (specifically 1.7.0).
Relevant information
Environment:
- OS: Win XP pro SP3
- JRE: 1.6.0 update 31
- TestNG: 6.7
- Maven: 3.0.3
- IDE: Eclipse Juno Java EE SR1
pom.xml
content:
<?xml version="1.0" encoding="UTF-8" ?>
<project xmlns="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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>SGTest</artifactId>
<name>SGTest</name>
<description>Service Grid Test project for XAP</description>
<parent>
<groupId>com.my_product.quality.sgtest</groupId>
<artifactId>SGTest-parent</artifactId>
<version>3.0.0</version>
<relativePath>http://mvn-srv:8081/artifactory/libs-snapshot-local/com/my_product/quality/sgtest/SGTest-parent/3.0.0/SGTest-parent-3.0.0.pom</relativePath>
</parent>
<properties>
<xap.home>${env.XAP_LATEST}</xap.home>
</properties>
<dependencies>
<dependency>
<groupId>com.my_product</groupId>
<artifactId>my_opensource_product</artifactId>
<version>${gsVersion}</version>
<scope>system</scope>
<systemPath>${xap.home}/lib/required/my_opensource_product.jar</systemPath>
</dependency>
<dependency>
<groupId>com.my_product</groupId>
<artifactId>gs-runtime</artifactId>
<version>${gsVersion}</version>
<scope>system</scope>
<systemPath>${xap.home}/lib/required/gs-runtime.jar</systemPath>
</dependency>
<dependency>
<groupId>com.my_product.quality</groupId>
<artifactId>DashboardReporter</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>apps</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.my_product.quality</groupId>
<artifactId>webuitf</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.my_product.quality</groupId>
<artifactId>wanem</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.my_opensource_product.xenserver</groupId>
<artifactId>xenserver-machine-provisioning</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.swift.common</groupId>
<artifactId>confluence-soap</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.7</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-jsch</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.hyperic</groupId>
<artifactId>sigar</artifactId>
<version>1.6.5</version>
<scope>system</scope>
<systemPath>${xap.home}/lib/platform/sigar/sigar.jar</systemPath>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.10</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
<build>
<testSourceDirectory>src/main/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<classpathDependencyExcludes>
<classpathDependencyExcludes>com.my_product.quality.sgtest.apps.security:processor</classpathDependencyExcludes>
<classpathDependencyExcludes>com.my_product.quality.sgtest.apps.archives:customSecurityProcessor</classpathDependencyExcludes>
<classpathDependencyScopeExclude>runtime</classpathDependencyScopeExclude>
</classpathDependencyExcludes>
<argLine>-Xmx2048m -XX:MaxPermSize=512m</argLine>
<includes>
<include>${includes}</include>
</includes>
<excludes>
<exclude>${excludes}</exclude>
</excludes>
<disableXmlReport>true</disableXmlReport>
<reportsDirectory>${sgtest.summary.dir}</reportsDirectory>
<reportFormat>xml</reportFormat>
<properties>
<property>
<name>configfailurepolicy</name>
<value>continue</value>
</property>
<property>
<name>suitename</name>
<value>${sgtest.suiteName}${sgtest.suiteId}</value>
</property>
<property>
<name>testname</name>
<value>${sgtest.suiteName}${sgtest.suiteId}</value>
</property>
<property>
<name>outputDir</name>
<value>${sgtest.summary.dir}</value>
</property>
<property>
<name>listener</name>
<value>framework.testng.SGTestNGListener,framework.testng.SGTestNgSuiteSplitter,framework.testng.report.TestNgReporterImpl</value>
</property>
</properties>
<systemProperties>
<sgtest.suiteId>${sgtest.suiteId}</sgtest.suiteId>
<sgtest.numOfSuites>${sgtest.numOfSuites}</sgtest.numOfSuites>
<selenium.browser>${selenium.browser}</selenium.browser>
<org.apache.commons.logging.Log>org.apache.commons.logging.impl.Jdk14Logger</org.apache.commons.logging.Log>
<com.gs.logging.level.config>true</com.gs.logging.level.config>
<java.util.logging.config.file>${basedir}/logging/sgtest_logging.properties</java.util.logging.config.file>
<sgtest.buildFolder>${sgtest.buildFolder}</sgtest.buildFolder>
<sgtest.url>http://192.168.9.121:8087/sgtest3.0-xap/</sgtest.url>
<sgtest.disconnect.machines>${sgtest.disconnect.machines}</sgtest.disconnect.machines>
<com.gs.work>${com.gs.work}</com.gs.work>
<com.gs.deploy>${com.gs.deploy}"</com.gs.deploy>
<cppOS>${cppOS}</cppOS>
</systemProperties>
<testFailureIgnore>true</testFailureIgnore>
<detail>true</detail>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>