5

問題

Maven管理プロジェクトでTestNGを使用していると、TestNGEclipseプラグインを介してテストを実行できないようです。テストを実行しようとすると、次のエラーメッセージがポップアップ表示されます(ダイアログウィンドウ内)。

RemoteTestNGクライアントに接続できませんでした。クラスパスに古いバージョンのtestng.jarがないことを確認してください。

理由:
RemoteTestNGへの接続を試行中にタイムアウトしました。

これを解決する方法は?

私が試したこと

(これについてオフィスのQA部門のすべての同僚に質問し、一般的な検索エンジンとTestNGフォーラムで情報を調べた後)

  • クラスパスに古いバージョンがないことを確認します(当然)。
  • MavenでインポートされたjarとTestNGeclipseプラグインで使用されるjarの間の衝突の可能性を排除します(どちらもバージョン6.7であり、プロジェクトpom.xmlは独自の依存jarのみを使用することが確認されています)。
  • 上記の変更後にMavenの更新とビルドを実行します。
  • 別のJRE(具体的には1.7.0)で実行します。

関連情報

環境:

  • OS: Win XP pro SP3
  • JRE: 1.6.0アップデート31
  • TestNG: 6.7
  • Maven: 3.0.3
  • IDE: Eclipse Juno Java EE SR1

pom.xmlコンテンツ:

<?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>
4

4 に答える 4

2

TestNG起動構成(Eclipse内)を誤って構成することで、正確な問題を発生させることができました。具体的には、JVM引数として以下を渡すように指定しました。

-runTestAsTool=true

それ以外の

-DrunTestAsTool=true

不足しているものを追加すると、D修正されました。したがって、起動構成がどのように構成されているかを再確認してください。

于 2014-03-05T21:33:16.483 に答える
1

この問題は、Windowsで長いJavaクラスパスを実行しているときに発生する問題に起因します(これらはプロセス作成コマンドの制限を超えています)。これはEclipseのバグ追跡システムで報告されており、Stackoverflowでもここで説明されています。

Eclipse Junoリリースでこれを回避するには、コマンド制限をバイパスするか(上記のリンクされた投稿で提案されている解決策を使用)、報告されたバグのパッチを適用します。

Ivan Simは彼のコーダーウォールにパッチの説明を投稿しましたが、完全を期すために抜粋を含めます。

  1. 上記のリンクからbug3271933.4.2hack.zipをダウンロードします
  2. 既存のeclipse/plugins/org.eclipse.jdt.launching_3.4。*。jarをバックアップします
  3. パッチ内のクラスをコピーして、org.eclipse.jdt.launchingJARのorg/ eclipse / jdt / internal / launchingに貼り付けます(既存のファイルを置き換えます)
  4. 最初の「NAME:」エントリーから始まるすべてのものを削除して、org.eclipse.jdt.launchingJARファイルのMETA-INF/MANIFEST.MFファイルを編集します。ファイルの最後に2つの改行文字を残してください。
  5. Eclipseを再開します
于 2013-01-12T17:59:33.660 に答える
1

MacOSまたはWindowsのSock5プロキシがオフになっていることを確認してください。

于 2015-04-01T09:43:25.963 に答える
0

TestNGは「localhost」へのソケットを作成してJVMインスタンスに接続しようとしているようですが、/ etc / hosts(Linuxを使用)ファイルでlocalhostの名前を別の名前に変更して爆撃しました。

ローカルホストに戻しましたが、すべて問題ありません。

于 2014-02-06T08:13:59.200 に答える