web-dev-qa-db-ja.com

エラー:org.testng.TestNGException:クラスパスでクラスが見つかりません:EmpClass

テストスイートを実行しようとすると、この例外が発生します。ここではMavenプロジェクトを使用しており、更新、クリーニング、testNGの再インストールが完了し、Mavenプロジェクトをインポートしましたが、同じ例外が発生しています。ここに欠けている方法を提案してください。

エラーコンソール:

org.testng.TestNGException: 
Cannot find class in classpath: EmpClass

at org.testng.xml.XmlClass.loadClass(XmlClass.Java:81)
at org.testng.xml.XmlClass.init(XmlClass.Java:73)
at org.testng.xml.XmlClass.<init>(XmlClass.Java:59)
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.Java:543)
at com.Sun.org.Apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.Java:509)
at com.Sun.org.Apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.Java:182)
at com.Sun.org.Apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.Java:766)
at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.Java:1350)
at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.Java:2778)
at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.Java:606)
at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.Java:510)
at com.Sun.org.Apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.Java:848)
at com.Sun.org.Apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.Java:777)
at com.Sun.org.Apache.xerces.internal.parsers.XMLParser.parse(XMLParser.Java:141)
at com.Sun.org.Apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.Java:1213)
at com.Sun.org.Apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.Java:649)
at com.Sun.org.Apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.Java:333)
at javax.xml.parsers.SAXParser.parse(SAXParser.Java:195)
at org.testng.xml.XMLParser.parse(XMLParser.Java:39)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.Java:17)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.Java:10)
at org.testng.xml.Parser.parse(Parser.Java:168)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.Java:311)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.Java:88)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.Java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.Java:175)
24
user2991323

私も同じ例外を受け取りました:

次の手順を試しました。

  1. Eclipse> Project> Cleanで。 (例外は残った)

  2. 別のプロジェクトを実行しました(testng.xmlは正常に実行されました)

別のプロジェクトを実行した後、例外を取得しているプロジェクトを実行しましたが、幸いなことに、エラーなしで機能しました。

17
user3640657

テストランナーxmlファイルを編集する必要があります。この例を参照してください。

 <test name="Employees Test">
               <classes>
                      <class name="packagename.classname">
                       </class>
               </classes>
 </test>

<class name="packagename.classname">行には、テストパッケージ名を入力してから、実行するクラスの名前を入力する必要があります。

よろしくお願いします。

10

私はtestngプロジェクトでMavenをインポートする際に同様の問題に直面しました。これは、TestNgプロジェクトに再度変換することで解決しました。

eclipseプロジェクトを右クリック> TestNG> TestNGに変換

既存のtestng.xmlファイルを新しく作成されたファイルに置き換えます。 mvn installを使用してMavenプロジェクトをクリーンアップおよび更新します

注:testng.xmlのバックアップを取ります

8
zishan paya

Project >> Clean and Maven >> Update Projectは私のために働いた

4
Amit

[プロジェクト]、[ビルドパス]、[ビルドパスの構成]、[ライブラリ]、[エラーライブラリの削除]の順に選択します。

プロジェクトを更新し、プログラムを再実行した後。

4
siraj

問題に関する私の2セント:私は同じ問題を経験していましたが、私の道の一部はキリル文字でした。そのため、プロジェクトへのパスで特殊文字を確認してください。これを削除すると、問題は修正されました

2
Jeni

Selenium 3.11.xx依存関係を使用していたときに同じ問題が発生しましたが、Selenium 3.4.x依存関係を使用すると問題は解決しました。

1
Sachin Singh

TestNGバージョン6.14.2でも同じ問題が発生しました

ただし、これは私の側の愚かな間違いによるもので、maven、testng、Eclipseにはまったく問題はありません。私がやっていたことは-

  1. 「mvn clean」としてプロジェクトを実行します
  2. 「testng.xml」ファイルを選択して右クリックし、TestNGスイートとして実行します
  3. これは元の質問で報告されたのと同じエラーを私に与えていました
  4. プロジェクトをコンパイルしておらず、その後TestNGが利用する必要なクラスファイルが生成されていないことにすぐに気付きました。
  5. 「ターゲット」フォルダーは、プロジェクトがコンパイルされた後にのみ生成されます(「mvn build」として実行)
  6. プロジェクトがコンパイルされている場合、この問題は存在しないはずです。
1
realnikunj

最初にpackageを作成してから、そのパッケージの下に新しいTestNGクラスを作成する必要があります。

0
AaShir Haq

Testng.xmlファイルで、「。」を削除しますパッケージを使用していない場合、タグ「」クラス名から。

0
Harish

IntelliJ IDEAで1台のPCから別のPCにプロジェクトをインポートしたときに、同じ問題が発生しました。

以下のソリューションが私のために働いた:

  1. Gitを使用してプロジェクトをインポートします。
  2. インポート後IDEは右下隅に「Gradleとしてインポート」というダイアログを表示しますが、それを選択する必要がありますが、Java_HOMEとGRADLEを設定していることを確認する必要があります(Gradle HomeまたはGradleラッパーの両方が動作するはずです)正しく。
  3. Build.gradleを実行し、すべての依存関係がエラーなしで正しくダウンロードされることを確認します。
  4. テストケースに移動し、TestNGまたはJUnitで実行してみてください。上記の3つの手順を適切に実行した場合、テストケースを実行できるはずです。
0
Pratik Patel

私の意見では、srcにtest/Java /フォルダーがある場合、ビルドパスの場所はtarget/test-classesのようになります。

Srcにmain/Java /フォルダーがある場合、ビルドパス内の場所はtarget/classesのようになります。

0
Sneh Tripathi

私にとって問題は非常に奇妙でした。
Eclipseプロジェクトのルートにtestng.xmlファイルがあります。 Eclipseでファイルを変更しても、ディレクトリ内のtestng.xmlファイルは変更されませんでした。

フォルダーのコピーがEclipseワークスペースに作成されたことが判明しました。

これが誰かを助けることを願っています

0
NateW

私にとって問題は、POMでのコンパイルからテストを除外したためです。私のpom.xmlは次のようになりました。

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <testExcludes>
            <exclude>com/mycompany/app/AppTest.Java</exclude>
        </testExcludes>
    </configuration>
</plugin>

<exclude>を削除した後、AppTest.Javaでテストを再度実行できました。

0
Steven

私もこの問題を抱えていました。 IntelliJ IDEAを使用しています。設定ファイルにsrc/main/Javaを、テストファイルにsrc/test/Javaを使用していました。
このtestNGにより、クラスパスが見つかりませんでした。このエラーが発生しないようにするには、すべてのファイルをsrc/main/Javaからsrc/test/Javaに、またはその逆に移動する必要があります。

0
SanjX

IDEが再び機能するようになりました。解決策は非常に面白く、再インストールでさえ、IDEを削除してもWindowsで修正されません。その場合に必要なことは、testNG実行構成に移動し、それらをすべて削除することです。これは、Windows OSのTestNG XMLクラスパスエラー用です。 Spring Tools Suite 3.6.4を使用しています。

すべての構成を削除し、プロジェクトがビルドできることを確認してください。問題がなければ、テストをすぐに実行する必要があります。

よろしく-アンソニー・トーリー

この問題は、TestNG.classパッケージを次のようにOnlineStoreパッケージに追加することで解決できます。

  1. ステップ1:ビルドパス>ビルドパスの構成> Javaビルドパス> [プロジェクト]タブの選択
  2. ステップ2:[追加]ボタンをクリックし、TestNGソースを含むプロジェクトを選択します。
  3. ステップ3「TestNG Suite」として実行されるTestNG.xmlを選択します

私は同様の問題があり、プロジェクトにはいくつかのビルドエラーがありました。プロジェクトに対してSudo -R 777を実行し、プロジェクトをクリーンアップしました。その後、うまくいきました。

それが役に立てば幸い。

0
Chinmoy

私のために働いたものを共有させてください:

  1. 「mvn clean」を実行すると、古いコンパイル済みクラスがクリーニングされます。「プロジェクトdirectroy->ターゲット」の場所に移動してください。MVNがコンパイルされたアーティファクトを配置するため、このフォルダーがクリーニングされます。

  2. 既にMAVENプロジェクトであるため、プロジェクトフォルダーに移動し、コマンドプロンプトで開きます。そして、「mvn clean」を発行してから「mvn test」->「mvn test」コマンドを実行すると、コンパイルされたすべてのファイルが適切なフォルダーに配置され、TestNGまたはMAVEN自体でテストを実行できます。

  3. Envパスに「M2_HOME」または「MAVEN_HOME」を設定していることを確認してください。「MAVEN_HOME」が機能しない場合があるため、「M2_HOME」も追加してください(この設定のためにGoogleを使用)

上記の提案は私のために働いたので、私は共有したい、幸運

0
Mike ASP

この問題で見つかったすべてをEclipseで試した後、

プロジェクトを選択しました->右クリック->実行-> Maven generate-sources

enter image description here

その後、TestNGプロジェクトを再実行しましたが、問題なく問題なく実行できました。

0

今日、私は上記の同じ問題に出会いました。 ** Eclipseでクラスパスを再度設定することで問題が解決しました。

0
Sapna

私の場合、MavenプロジェクトをEclipseのデフォルトの既存プロジェクトとしてインポートした後、Mavenプロジェクトとしてインポートしました。

0
Dinesh Chitta

クラスがsrcの下にあることを確認してください。

0
Saurabh Shukla

クラスにパッケージ名を含めます。名前が削除されます。私も同じ問題を抱えていましたが、クラスにパッケージ名を追加するとこの問題が修正されました。

0
Jitendra kumar

注:以下に示すように、パッケージとともにクラス名を指定する必要があります。

<suite name="testNGLearning">
    <test name="simpleTest">
        <classes>
            <class name="testngTests.TestNGSimpleTest" />
            <class name="testngTests.TestMessageUtil" />
        </classes>
    </test>
</suite>
0
Key

私にとっては、プロジェクトのMavenビルドにテストのスキップチェックボックス/フラグを追加したということでした

そのため、テストクラスコンパイルされていないで、TestNGによって検出されませんでした

0
user7294900

JSFプロジェクトでテストを実行しようとすると、同じエラーが発生しました。

Eclipse IDE(kepler)を使用しています。そこで、「プロジェクト>クリーン」を実行し、同じプロジェクトのテストを再度実行しました。

動いた!

0
Cláudio

最近までこれに問題はなかった。

今、私はスイートのxmlテストファイルを、テストしていたプロジェクトのルートに移動する必要がありました。

私がテストしているクラスを指す設定があるかもしれませんが、私はそれを見つけていません。

0
bnieland