web-dev-qa-db-fra.com

Erreur: org.testng.TestNGException: Impossible de trouver la classe dans le chemin de classe: EmpClass

Lorsque j'essaie d'exécuter la suite de tests, j'obtiens cette exception. Nous utilisons le projet Maven ici et j'en ai terminé avec l'actualisation, le nettoyage, la réinstallation de testNG, puis j'ai importé les projets Maven, mais j'ai également la même exception. S'il vous plaît suggérer toutes les façons qui manquent ici.

Console d'erreur:

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)
19
user2991323

J'ai aussi la même exception:

J'ai essayé les étapes suivantes:

  1. Dans Eclipse> Projet> Nettoyer. (L'exception est restée)

  2. J'ai exécuté un autre projet (le fichier testng.xml a été exécuté avec succès)

Après avoir exécuté un autre projet, j'ai exécuté le projet dans lequel je recevais l'exception, et heureusement, cela a fonctionné pour moi, sans erreur.

14
user3640657

Vous devez éditer vos tests. Fichier XML Runner . Voir cet exemple:

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

Dans la ligne <class name="packagename.classname">, vous devez entrer le nom de votre package de tests, puis le nom de la classe que vous souhaitez exécuter.

Merci et je vous souhaite tout le meilleur.

9
Nael Abd eljawad

J'ai fait face au problème similaire sur l'importation de Maven avec le projet de test. Ceci a été résolu en reconvertissant en projet TestNg par 

cliquez avec le bouton droit sur Projet Eclipse> TestNG> Convertir en TestNG.

et en remplaçant le fichier testng.xml existant par le fichier nouvellement créé. Nettoyez et mettez à jour le projet maven avec mvn install

Remarque: sauvegardez votre testng.xml 

8
zishan paya

Accédez à Projet> Chemin de construction> Configurer le chemin de construction> Bibliothèques> Supprimer les bibliothèques d'erreur.

Après rafraîchir le projet et relancer le programme.

4
siraj

Projet >> Propre et Maven >> Update Le projet a fonctionné pour moi

3
Amit

Mes 2 centimes sur le problème: je rencontrais le même problème, alors qu'une partie de mon chemin était en cyrillique. Vérifiez donc le chemin de votre projet pour les caractères spéciaux. Une fois que j'ai enlevé ceci, le problème a été résolu

2
Jeni

J'ai eu le même problème quand j'utilisais la dépendance Selenium 3.11.xx mais mon problème a été résolu quand j'ai utilisé la dépendance Selenium 3.4.x.

1
Sachin Singh

J'ai également rencontré le même problème avec TestNG version 6.14.2

Cependant, cela était dû à une erreur stupide de ma part et il n'y a aucun problème avec maven, testng ou Eclipse. Ce que je faisais était -

  1. Exécuter le projet en tant que "mvn clean"
  2. Sélectionnez le fichier "testng.xml" et cliquez dessus avec le bouton droit de la souris pour exécuter la suite TestNG.
  3. Cela me donnait la même erreur que celle rapportée dans la question initiale
  4. Je me suis vite rendu compte que je n'avais pas compilé le projet et que les fichiers de classe requis n'avaient pas été générés et que le TestNG les utiliserait
  5. Le dossier "cible" sera généré uniquement après la compilation du projet (Exécuter en tant que "mvn build")
  6. Si votre projet est compilé, ce problème ne devrait pas être là.
1
realnikunj

Vous devez d'abord créer package puis créer une nouvelle classe TestNG sous ce package.

0
AaShir Haq

Dans le fichier testng.xml, supprimez "." from tag "" nom de la classe si vous n'utilisez pas de paquet.

0
Harish

J'ai eu le même problème lorsque j'ai importé mon projet d'un PC à un autre sur IntelliJ IDEA.

La solution ci-dessous a fonctionné pour moi:

  1. Importer un projet en utilisant Git.
  2. Après avoir importé IDE, une boîte de dialogue vous demandant de sélectionner "Importer sous forme de dégradé" apparaît dans le coin inférieur droit de la fenêtre, mais assurez-vous que vous avez bien défini Java_HOME et GRADLE (Gradle Home ou Gradle wrapper devraient tous deux fonctionner correctement).
  3. Exécutez le fichier build.gradle et assurez-vous que toutes les dépendances sont téléchargées correctement sans erreur.
  4. Passez maintenant à votre scénario de test et essayez de l'exécuter avec TestNG ou JUnit et si vous avez correctement suivi les 3 étapes ci-dessus, vous devriez pouvoir exécuter le scénario de test.
0
Pratik Patel

À mon avis, si src a des dossiers test/Java /, l'emplacement de sortie du chemin de construction doit être similaire à cible/classes de test.

Si src a les dossiers main/Java /, l'emplacement de sortie du chemin de construction doit ressembler à cible/classes. 

0
Sneh Tripathi

Pour moi, le problème était très étrange.
J'ai un fichier testng.xml à la racine de mon projet Eclipse. Lorsque j'ai modifié le fichier via Eclipse, le fichier testng.xml de mon répertoire n'a pas été modifié. 

Il s'avère qu'il a fait une copie du dossier dans l'espace de travail Eclipse.

J'espère que cela aide quelqu'un

0
NateW

Pour moi, le problème était que j'avais exclu le test de la compilation dans le POM. Mon pom.xml ressemblait à ceci:

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

Après avoir retiré le <exclude>, j'ai pu exécuter à nouveau les tests dans AppTest.Java.

0
Steven

J'avais également ce problème… .. J'utilise IntelliJ IDEA… .. J'utilisais src/main/Java pour les fichiers de configuration et src/test/Java pour les fichiers de test. 
A cause de ce test, GN n'a pas pu trouver le chemin de classe. Pour éviter cette erreur, vous devez déplacer tous les fichiers de src/main/Java à src/test/Java ou inversement.

0
SanjX

Le IDE fonctionne à nouveau. La solution est assez amusante - et même une réinstallation et la suppression de IDE ne résolvent pas le problème sous Windows. Dans ce cas, vous devez vous rendre dans les configurations d'exécution de testNG - et les supprimer toutes. Il s’agit de l’erreur de chemin de classe XML TestNG sous Windows OS. J'utilise la suite d'outils Spring 3.6.4.

Assurez-vous de supprimer toutes les configurations, assurez-vous que le projet peut être généré et, en l'absence de problème, le test doit être exécuté maintenant.

Cordialement - Anthony Toorie

Ce problème peut être résolu en ajoutant le package TestNG.class au package OnlineStore comme indiqué ci-dessous.

  1. Étape 1: Chemin de construction> Configurer le chemin de construction> Chemin de construction Java> Sélectionnez Onglet "Projet"
  2. Étape 2: Cliquez sur le bouton "ajouter" et sélectionnez le projet contenant la source TestNG.
  3. Étape 3: sélectionnez TestNG.xml sous le nom "TestNG Suite".
0

J'ai eu un problème similaire et le projet a eu quelques erreurs de construction .

J'espère que ça aide.

0
Chinmoy

Après avoir essayé tout ce que j'ai trouvé sur ce problème, dans Eclipse, 

J'ai sélectionné mon projet -> clic droit -> Exécuter en tant que -> Maven generate-sources

 enter image description here

Ensuite, j'ai relancé mon projet TestNG et il s'est parfaitement bien déroulé, sans aucun problème.

0

Je suis tombé sur le même problème mentionné ci-dessus aujourd'hui. ** régler à nouveau le chemin de classe dans Eclipse ** a résolu le problème.

0
Sapna

Dans mon cas, j'ai importé le projet maven en tant que projet existant par défaut dans Eclipse.Après cela, j'ai importé en tant que projet maven.Cela a fonctionné pour moi.

0
Dinesh Chitta

inclure le nom du paquet avec la classe. Cela supprimera votre nom. J'ai également eu le même problème, mais l'ajout du nom du paquet avec la classe a résolu ce problème. 

0
Jitendra kumar

Remarque: Vous devez spécifier le nom de la classe avec les packages comme indiqué ci-dessous.

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

Pour moi, c'est que j'ai ajouté Skip Tests checkbox/flag dans la construction Maven du projet

Par conséquent, les classes de test n'ont pas été compilées et n'ont pas été trouvées par TestNG.

0
user7294900

J'ai eu la même erreur lorsque j'ai essayé d'exécuter mes tests dans un projet JSF.

J'utilise Eclipse IDE (kepler). Alors, j'ai fait "projeter> nettoyer" puis j'ai relancé les tests du même projet.

Ça a marché!

0
Cláudio

Je n'ai eu aucun problème avec cela jusqu'à récemment. 

Maintenant, je devais déplacer le fichier de test XML de la suite à la racine du projet que je testais. 

Il se peut qu’il existe un paramètre qui pointe vers les classes que j’essaie de tester, mais je ne l’ai pas trouvé.

0
bnieland