3
votes

"TestNG Aucun test trouvé. Rien n'a été exécuté" lors de l'exécution de tests automatisés utilisant Selenium via TestNG

image

Je veux savoir quel logiciel exact dois-je installer avant d'exécuter mon projet d'automatisation. Le pilote Web Selenium, selenium java, testNG, junit a été installé mais il y a aussi quelques problèmes avec cela. 1. Le fichier java Selenium n'a pas plus de fichiers JAR comme les gens le montrent dans leurs didacticiels vidéo. 2. Lorsque je vais exécuter mon projet en tant que testNG, eclipse a déclaré que le pare-feu Windows avait bloqué certaines fonctionnalités de cette application.


2 commentaires

les méthodes de test doivent avoir l'annotation @Test


L'annotation @test est manquante dans votre cas. Comme il est incapable de trouver le test


4 Réponses :


5
votes

Ce message d'erreur ...

import org.testng.annotations.Test;

... implique que TestNG n'a trouvé aucun @Test à exécuter.

Votre problème principal est si vous avez importé Test comme:

[TestNG] No tests found. Nothing was run

Mais votre bloc de code n'a pas de @ Test en tant que tel mais inclut un @BeforeClass . Comme il n'y a aucun test , TestNG ne trouve aucun test à exécuter.


Solution

La plus simple la solution serait de changer l'annotation @BeforeTest avec @Test et d'exécuter votre Cas de test / Test Suite .


0 commentaires

0
votes

Parce que votre méthode principale a été placée sous l'annotation avant la classe. La méthode principale ne prend aucune annotation. Si vous fournissez une annotation TestNG à la méthode principale, cette erreur est générée. Lorsque vous utilisez TestNG, vous n'écrivez pas de méthode principale. Ce n'est pas que la méthode principale ainsi que d'autres tests avec l'annotation @test ne s'exécuteront pas, c'est juste que la méthode principale ne prend aucune annotation. Ce ne sont que les méthodes non principales qui acceptent les annotations TestNG. Si vous avez une méthode principale java standard et les autres méthodes @test dans la même classe, le programme se compilera et s'exécutera avec succès mais la méthode principale sera ignorée et ne fonctionnera pas du tout. Ce ne sont que les autres méthodes @test qui seront exécutées.


0 commentaires

0
votes

Premièrement, l'annotation @BeforeClass n'est pas un "@Test", cela ne fonctionne que comme un indice ou des directives pour l'exécution du "@Test" réel. Remplacez @BeforeClass par @Test, et remplacez à nouveau (public static void main (String [] args) par "public void guru99 ()" ou "public static void guru99 ()".


0 commentaires

0
votes

J'ai rencontré cette erreur lorsque mes méthodes test ( @Test annotées) dans ma classe de test Groovy TestNG ont été déclarées à l'aide de la syntaxe de la méthode def de Groovy. TestNG vous permet d'écrire vos méthodes de test dans Groovy, mais il se plaint si elles n'ont pas la syntaxe Java déclarée habituelle.

Pas ceci: strong>

@Test
public void testDoWork {
   ...

Faites ceci:

@Test
def testDoWork {
   ...

Remettez-le sur @ Testez la syntaxe public void testMethodName () { et vous serez à nouveau bon.


0 commentaires