Fermer

juin 10, 2024

Intégration de KeywordLogger avec les auditeurs de test dans Katalon Studio / Blogs / Perficient

Intégration de KeywordLogger avec les auditeurs de test dans Katalon Studio / Blogs / Perficient


Une journalisation efficace est cruciale dans l’automatisation des tests. Il aide les testeurs à suivre l’exécution des tests, à identifier les problèmes et à comprendre les étapes ignorées. KeywordLogger de Katalon Studio fournit un mécanisme de journalisation polyvalent, qui peut être encore amélioré en s’intégrant aux Test Listeners. Ce blog vous guidera tout au long du processus d’intégration, en proposant des exemples pratiques pour illustrer les concepts.

Qu’est-ce que KeywordLogger ?

KeywordLogger est un utilitaire de journalisation de Katalon Studio qui vous permet de consigner différents types de messages, tels que des messages d’information, des erreurs et des étapes ignorées. Ces journaux fournissent un compte rendu détaillé du flux d’exécution des tests, facilitant le débogage et la création de rapports.

Configuration des écouteurs de test

Pour configurer les Test Listeners dans Katalon Studio, vous devez créer un nouveau script Groovy dans le dossier Test Listeners de votre projet Katalon. Ce script définira des méthodes annotées avec des annotations d’écoute telles que @BeforeTestCase, @AfterTestCase, @BeforeTestSuite et @AfterTestSuite.

Création d’un écouteur de test

  1. Créer le dossier Test Listeners dans votre projet Katalon.
  2. Créer un nouveau script Groovy. Par exemple, nommez-le LoggingListener.

Intégration de KeywordLogger avec les auditeurs de test

Créons un écouteur de test complet qui enregistre les messages à différentes étapes du cycle de vie du test.

Guide étape par étape

  1. Importer les classes nécessaires:

import com.kms.katalon.core.logging.KeywordLogger

import com.kms.katalon.core.annotation.BeforeTestCase

import com.kms.katalon.core.annotation.AfterTestCase

import com.kms.katalon.core.annotation.BeforeTestSuite

import com.kms.katalon.core.annotation.AfterTestSuite

import com.kms.katalon.core.context.TestCaseContext

import com.kms.katalon.core.context.TestSuiteContext

  1. Initialiser le KeywordLogger:
KeywordLogger logger = new KeywordLogger()

  1. Définir les méthodes avec les annotations appropriées:
@BeforeTestCase

def beforeTestCase(TestCaseContext testCaseContext) {

    logger.logInfo("Starting test case: " + testCaseContext.getTestCaseId())

}

@AfterTestCase

def afterTestCase(TestCaseContext testCaseContext) {

    if (testCaseContext.getTestCaseStatus() == 'FAILED') {

        logger.logError("Test case failed: " + testCaseContext.getTestCaseId())

    } else {

        logger.logInfo("Completed test case: " + testCaseContext.getTestCaseId())

    }

}

@BeforeTestSuite

def beforeTestSuite(TestSuiteContext testSuiteContext) {

    logger.logInfo("Starting test suite: " + testSuiteContext.getTestSuiteId())

}

@AfterTestSuite

def afterTestSuite(TestSuiteContext testSuiteContext) {

    logger.logInfo("Completed test suite: " + testSuiteContext.getTestSuiteId())

}

Exemple complet

Voici le code complet d’un Test Listener qui intègre KeywordLogger :

import com.kms.katalon.core.logging.KeywordLogger

import com.kms.katalon.core.annotation.BeforeTestCase

import com.kms.katalon.core.annotation.AfterTestCase

import com.kms.katalon.core.annotation.BeforeTestSuite

import com.kms.katalon.core.annotation.AfterTestSuite

import com.kms.katalon.core.context.TestCaseContext

import com.kms.katalon.core.context.TestSuiteContext

KeywordLogger logger = new KeywordLogger()

@BeforeTestCase

def beforeTestCase(TestCaseContext testCaseContext) {

    logger.logInfo("Starting test case: " + testCaseContext.getTestCaseId())

}

@AfterTestCase

def afterTestCase(TestCaseContext testCaseContext) {

    if (testCaseContext.getTestCaseStatus() == 'FAILED') {

        logger.logError("Test case failed: " + testCaseContext.getTestCaseId())

    } else {

        logger.logInfo("Completed test case: " + testCaseContext.getTestCaseId())

    }

}

@BeforeTestSuite

def beforeTestSuite(TestSuiteContext testSuiteContext) {

    logger.logInfo("Starting test suite: " + testSuiteContext.getTestSuiteId())

}

@AfterTestSuite

def afterTestSuite(TestSuiteContext testSuiteContext) {

    logger.logInfo("Completed test suite: " + testSuiteContext.getTestSuiteId())

}

Exemples pratiques

Examinons quelques exemples pratiques pour comprendre comment cette intégration fonctionne dans des scénarios réels.

Exemple 1 : journalisation de l’exécution du scénario de test

Imaginez que vous ayez un scénario de test pour vérifier la fonctionnalité de connexion utilisateur. En utilisant le Test Listener intégré, vous enregistrez automatiquement le début et la fin de l’exécution du scénario de test.

Script de scénario de test:

import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase

import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

WebUI.openBrowser('')

WebUI.navigateToUrl('https://example.com/login')

WebUI.setText(findTestObject('Page_Login/txt_Username'), 'username')

WebUI.setText(findTestObject('Page_Login/txt_Password'), 'password')

WebUI.click(findTestObject('Page_Login/btn_Login'))

WebUI.verifyElementPresent(findTestObject('Page_Home/lbl_LoggedIn'), 10)

WebUI.closeBrowser()

Sortie enregistrée:

INFO : Démarrage du scénario de test : Cas de test/Vérifier la connexion de l’utilisateur

INFO : scénario de test terminé : scénarios de test/vérifier la connexion de l’utilisateur

Si la connexion échoue, le résultat inclura un journal des erreurs :

INFO : Démarrage du scénario de test : Cas de test/Vérifier la connexion de l’utilisateur

ERREUR : échec du scénario de test : scénarios de test/vérifier la connexion de l’utilisateur

Exemple 2 : journalisation de l’exécution de la suite de tests

Considérez une suite de tests qui exécute plusieurs cas de test liés à l’enregistrement des utilisateurs. Le Test Listener intégré enregistre le début et la fin de la suite de tests.

Script de la suite de tests:

  • Vérifier l’enregistrement de l’utilisateur
  • Vérifier l’enregistrement de l’utilisateur avec des données invalides
  • Vérifier l’inscription de l’utilisateur sans champs obligatoires

Sortie enregistrée:

INFO : Démarrage de la suite de tests : suites de tests/tests d’enregistrement des utilisateurs

INFO : Démarrage du scénario de test : Cas de test/Vérification de l’enregistrement de l’utilisateur

INFO : scénario de test terminé : scénarios de test/vérifier l’enregistrement de l’utilisateur

INFO : Démarrage du scénario de test : Cas de test/Vérifier l’enregistrement de l’utilisateur avec des données non valides

ERREUR : échec du scénario de test : scénarios de test/vérifier l’enregistrement de l’utilisateur avec des données non valides

INFO : Démarrage du scénario de test : Cas de test/Vérification de l’enregistrement de l’utilisateur sans champs obligatoires

INFO : scénario de test terminé : cas de test/vérifier l’enregistrement de l’utilisateur sans champs obligatoires

INFO : Suite de tests terminée : suites de tests/tests d’enregistrement des utilisateurs

Meilleures pratiques pour une journalisation efficace

En combinant les messages logInfo, logError et logSkipped, vous créez un journal détaillé et clair qui couvre tous les aspects de l’exécution de votre scénario de test. Cette pratique garantit que vous disposez de journaux complets pour faciliter le débogage et la création de rapports.

  • Utiliser des écouteurs de test pour plus de cohérence

L’intégration de KeywordLogger avec Test Listeners garantit que les journaux sont enregistrés de manière cohérente aux points clés du cycle de vie de votre test sans intervention manuelle. Cette approche permet de maintenir un format de journalisation standardisé dans tous les scénarios et suites de tests.

  • Surveiller et examiner régulièrement les journaux

La surveillance et l’examen réguliers de vos journaux permettent d’identifier les modèles, les problèmes récurrents et les opportunités d’amélioration de vos scripts de test et du processus de test global. Un examen cohérent des journaux garantit que tous les problèmes sont rapidement identifiés et résolus, améliorant ainsi la fiabilité de vos tests.

Conclusion

L’intégration de KeywordLogger avec Test Listeners dans Katalon Studio fournit des journaux complets et cohérents, capturant automatiquement les événements clés tout au long de votre cycle de vie de test.






Source link