2017-08-10 5 views
1

J'utilise Allure2 avec TestNG. Je veux écrire mon propre écouteur qui imprime @Steps dans la sortie de la console.allure2 listener pour afficher les étapes dans la console

J'ai vu l'interface "StepLifecycleListener" dans allure mais je ne suis pas capable d'implémenter cet écouteur dans TestNg. Des pointeurs?

@Override 
public void beforeStepStart(final StepResult result) { 
    System.out.format("Starting step: %s", result.getName()); 

} 


@Override 
public void afterStepStop(final StepResult result) { 
    System.out.format("Completed step: %s", result.getName()); 

} 

Répondre

2

Les écouteurs Allure 2 sont gérés par un mécanisme SPI. Il y a plusieurs étapes que vous sommes devez faire pour cela fonctionne:

  • interface et StepLifecycleListener Mettre en œuvre les méthodes nécessaires redéfinissent. Créez les dossiers META-INF/services dans la racine resources de votre projet.
  • Créez un nouveau fichier avec le nom complet de cette interface dans le dossier ci-dessus.
  • Ajoutez le chemin d'accès complet à votre classe d'implémentation dans ce fichier.

Vous pouvez trouver un exemple dans le projet suivant: https://github.com/sskorol/allure2-testng-report/blob/master/src/test/resources/META-INF/services/io.qameta.allure.listener.StepLifecycleListener

En savoir plus sur SPI: http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html