J'essaye de lancer testng via la ligne de commande et j'ai les choses suivantes dans classpath:
testng
jar, jar du fichier de test élémentaire compilé et autres jar requis.testng.xml
pointe vers la classe appropriée dans la hiérarchie. Testng ne s'exécute pas à la place, il lance:
[TestNG] [ERROR] Cannot find class in classpath: (name of testcase file)
J'ai rencontré le même problème avant et je viens d'ajouter.
Dans classpath
et cela a résolu le problème. Mais cette fois, cela n'a pas semblé le résoudre. Des solutions de contournement? Merci d'avance.
Je viens d'avoir ce problème et je suis assez confiant que c'est un bogue dans le plugin TestNG pour Eclipse, car j'ai pu exécuter mes tests à partir de la ligne de commande.
La solution qui semble fonctionner pour moi et les autres consiste simplement à nettoyer votre projet (Project
→ Clean
). Une personne a dû réinstaller tout le plugin.
Si votre nom de package est FabFurnishPackage et que le nom de votre classe est registration, le code en xml doit être
<classes>
<class name="FabFurnishPackage.registration">
</classes>
[TestNG] [ERROR] Impossible de trouver la classe dans classpath: registration le problème est résolu ...
Il suffit de faire Eclipse> Projet> Nettoyer, puis réexécutez les cas de test. Ça devrait marcher.
En arrière-plan, il appelle mvn Eclipse: clean dans le répertoire de votre projet, ce qui supprime vos fichiers .project et .classpath et vous pouvez également effectuer un mvn Eclipse: eclipse - régénère vos fichiers .project et .classpath. Ajoutant ainsi la classe souhaitée dans le classpath.
Je faisais face au même problème et j'ai essayé comme ci-dessous.
pom.xml
et nettoyer)Cela a résolu le problème.
Avant d'exécuter la commande pour le fichier testng.xml à partir de l'invite de commande, veuillez vérifier les éléments suivants si vous les manquez.
set CLASSPATH
et inclus l'emplacement du fichier jar de test, l'emplacement du fichier jar du serveur Selenium (si vous utilisez Selenium Webdriver), l'emplacement du dossier bin de votre projet contenant tous les fichiers .class de votre projet.set CLASSPATH=C:\Selenium\testng-5.8-jdk15.jar;C:\Selenium\selenium-server-standalone-2.31.0.jar;C:\SeleniumTests\YourProject\bin
Java org.testng.TestNG testng.xml.
J'étais dans la même situation mais les choses ci-dessus ont fonctionné pour moi.
ajouter à pom:
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<testSourceDirectory>${basedir}/test</testSourceDirectory>
(...)
<plugins>
(...)
</plugins>
</build>
assurez-vous que votre suite.xml ne doit pas avoir l'extension .Java
ex:
<test name="Test C1">
<classes>
<class name="com.taxi.suiteC.TestCase_C1" ></class>
</classes>
</test>
Si aucune des réponses ci-dessus ne fonctionne, vous pouvez exécuter le test dans l'EDI, obtenir le chemin d'accès aux classes et l'utiliser dans votre commande. Ex: Si vous utilisez Intellij IDEA, vous pouvez le trouver en haut de la console (capture d'écran ci-dessous).
Un clic sur la pièce en surbrillance développe et affiche le chemin d'accès complet à la classe.
vous devez supprimer les références aux fichiers JAR du dossier: JetBrains\IntelliJ IDEA Community Edition VERSION
Java -cp "path_copied" org.testng.TestNG testng.xml
Si le projet est un projet Maven, vous pouvez ajouter le plug-in maven surefire et indiquer le chemin d'accès au fichier XML de la suite de tests, accéder au répertoire du projet et exécuter la commande suivante: mvn clean install test
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>config/testrun_config.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
Assurez-vous que vous avez spécifié votre classe/package dans le fichier TestNG.xml.
<test name="test1" preserve-order="false">
<classes>
<class name="ABC"/>
</classes>
</test>
J'ai dû créer un fichier JAR à partir de mes classes de test et l'ajouter à mon chemin de classe. Auparavant, j'avais ajouté mon fichier de classe de test au chemin de classe, puis j'avais l'erreur ci-dessus. J'ai donc créé un pot et ajouté à classpath.
par exemple
Java -cp "my_jars/*" org.testng.TestNG testing.xml
Après avoir modifié le chemin de sortie de TestNG (Propriétés du projet -> TestNG -> Répertoire de sortie), cela a fonctionné pour moi.
Eclipse-> clic droit surprojet->chemin de construction->configurer->Chemin de construction Java.
Ajouter une bibliothèque->JRE lib.
Ajoutez la dernière bibliothèque Java que vous utilisez dans le système, supprimez d’autres anciennes bibliothèques JRE et enregistrez-la.
Si votre projet est ouvert dans Eclipse (Mars) IDE: Faites un clic droit sur le projet dans Eclipse Cliquez sur TestNG Cliquez sur "Convertir en TestNG"
Cela crée un nouveau fichier testng.xml et vous invite à écraser le fichier existant (!!! Attention, ceci effacera votre ancien fichier testng.xml !!!) . Cliquez sur Oui.
Exécuter en tant que build de test Maven.
Dans mon cas, la structure du paquet n'était pas correcte, c'était comme des dossiers et des sous-dossiers. J'ai supprimé ce projet et importé à nouveau en changeant le code correspondant. Après que cela a fonctionné pour moi ... par exemple. Structure des dossiers - TestProject -TestSuite1 Structure du package - TestProject.TestSuite1
clic droit sur projet -> aller à maven -> projet de mise à jour
cela a résolu mon problème quand rien d'autre ne pouvait
J'ai rencontré le même problème lorsque j'ai essayé d'exécuter mon fichier Testng.xml.
Pour résoudre ce problème, vous devez déplacer votre fichier de classe de pkg par défaut vers un autre pkg; c'est-à-dire créer un nouveau paquet et y placer votre fichier de classe
J'ai rencontré le même problème. À chaque fois que je passais mon test, il continuait à dire des classes introuvables dans le classpath. J'ai essayé de réparer le fichier testng.xml, de nettoyer le projet et à peu près tout ce que les réponses disent ici, mais aucun n'a fonctionné. Enfin, j'ai vérifié mes bibliothèques référencées dans le chemin de génération et il y avait 34 bibliothèques invalides. Il s'avère que j'ai renommé l'un des dossiers du chemin où j'ai pris les fichiers jar. J'ai corrigé le chemin et le test s'est déroulé avec succès.
Il pourrait donc être utile de vérifier s'il existe des erreurs dans les fichiers JAR référencés avant d'essayer les autres méthodes permettant de résoudre ce problème.
J'ai eu le même problème en utilisant maven
La solution qui a fonctionné est la suivante: le nom de la classe dans le fichier testNG était différent de celui de la classe Nom
Depuis que j'ai changé le nom de la classe et testng le fichier n'a pas été mis à jour.
Assurez-vous donc que className dans le fichier testNG doit correspondre au className actuel.
RestAssuredTest a été écrit à tort comme RestAssuredest dans testNG
Une des raisons de ce problème
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
<test name="Test">
<classes>
<class name="com.mycompany.app.AppTest"/>
<class name="com.mycompany.app.RestAssuredTest"/>
<class name="com.mycompany.app.appiumTests"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Pour éviter l'erreur
Impossible de trouver la classe dans classpath: (nom du fichier testcase)
vous devez regrouper la classe Runner et la classe Test. Je veux dire src et les dossiers de test.
Vérifiez la hiérarchie des classes. Si le paquet manque dans votre classe, vous obtiendrez cette erreur. Essayez donc de créer une nouvelle classe de test en sélectionnant le package.
je faisais face au même problème, vous devez vérifier le fichier testng, votre classe créée sous package dans cette classe de cas ne se trouve pas dans Test NG. Effectuez les étapes ci-dessous en convertissant simplement votre projet en test NG et en écrivant/remplaçant avec le nouveau fichier testNG.
Encore une fois, lancez ce TestNG dans ce cas, il travaille mon cas,
Также столкнулся с той же проблемой. Попытался установить путь к классу по-другому, et plus:
set classpath="projectpath"\bin;"projectpath"\lib\*
нажмитеEnter
Java org.testng.TestNG testng.xml
нажмитеEnterснова
Надеюсь, что это работает!
J'obtenais la même erreur - Impossible de trouver la classe dans classpath:
Solution: j'avais commis les erreurs suivantes:
Je viens d'avoir ce problème et c'est parce que l'option de test de saut dans la configuration d'exécution a été cochée. fait que décoché et construire, puis exécutez le testNg, a travaillé.
Ce problème est dû à une erreur de construction . 1. Nettoyer le projet - si le problème n'est pas résolu 2. update maven project - Si toujours pas résolu 3. Accédez au chemin de construction à partir de (cliquez avec le bouton droit sur projet-> Propriétés -> chemin de construction Java) Si vous voyez une erreur, résolvez-la en ajoutant le fichier manquant à un emplacement donné.
Je suis confronté au même problème. Après de nombreuses démarches, j'ai trouvé la troisième solution pour résoudre ce problème.
J'ai essayé toutes les suggestions ci-dessus, et cela n'a pas fonctionné pour mon cas. Il se trouve que le chemin de génération de mon projet comporte une erreur (l'un des fichiers jar dépendant est introuvable). Après avoir corrigé cette erreur, testng fonctionne à nouveau dans mon Eclipse.
Lorsque j'ai converti mon projet avec pacage par défaut et une classe nommée add, .__ en testng.xml .. Il a été converti en tant que:
<classes>
<class name=".addition"/>
</classes>
et jetait une erreur cette classe ne peut pas être chargée . Si je supprime. avant l’ajout, le code fonctionne bien . Soyez donc prudent avec le paquet par défaut.