Comment utiliser Log4j dans Selenium?

โšก Rรฉsumรฉ intelligent

Connectez-vous4j Selenium est rapide et flexible Java Ce framework de journalisation enregistre les dรฉtails d'exรฉcution des scripts d'automatisation. Il prend en charge plusieurs niveaux de journalisation, appenders et mises en page, et s'intรจgre parfaitement ร  LogExpert pour l'analyse des fichiers journaux gรฉnรฉrรฉs.

  • (I.e. Composants: Log4j est construit autour de Loggers, d'Appenders et de Layouts qui, ensemble, capturent, acheminent et formatent les รฉvรฉnements de journalisation pour Selenium projets d'automatisation.
  • โ˜‘๏ธ Niveaux de journalisation : Sept niveaux (ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF) contrรดlent le niveau de dรฉtail enregistrรฉ lors de l'exรฉcution et du dรฉbogage du script.
  • โœ… Annexe : ConsoleAppender, FileAppender et RollingFileAppender dรฉterminent si les entrรฉes du journal sont envoyรฉes ร  la console, ร  un fichier statique ou ร  un ensemble de fichiers dynamiques.
  • ๐Ÿงช Configuration: Un fichier log4j.properties dรฉfinit les enregistreurs racine et d'application, les chemins d'accรจs aux fichiers, la taille maximale des fichiers, l'index de sauvegarde et les rรจgles de formatage PatternLayout.
  • ๏ธ Visionneuse LogExpert : Les outils gratuits LogExpert Selenium et les fichiers journaux manuels en temps rรฉel, avec filtrage, mise en signet, surlignage et affichage multi-onglets.

Comment utiliser Log4j dans Selenium

Qu'est-ce que Log4j dans Selenium?

Log4j est un framework de journalisation (API) rapide, flexible et fiable, รฉcrit en Java et dรฉveloppรฉ dรฉbut 1996. Il est distribuรฉ sous la licence Apache Licence logicielle. Log4j a รฉtรฉ portรฉ en C. C++, C#, Perl, Python, Ruby et Eiffel. C'est un outil utilisรฉ pour des projets de petite ร  grande รฉchelle. Selenium projets d'automatisation.

Pourquoi utiliser Log4j ?

Log4j offre plusieurs avantages pratiques pour Selenium projets:

  • C'est open source.
  • Avec Log4j, il est possible de stocker les dรฉtails du flux de Selenium automatisation dans un fichier ou une base de donnรฉes.
  • Log4j convient aussi bien aux grands projets qu'aux petits.
  • Dans Log4j, les instructions de journalisation remplacent les instructions System.out.println dans le code pour connaรฎtre l'รฉtat d'un projet pendant son exรฉcution.

Composants Log4j

Composants Log4j

Enregistreurs

Le module de journalisation est chargรฉ d'enregistrer les informations. Pour implรฉmenter des modules de journalisation dans un projet, les รฉtapes suivantes doivent รชtre effectuรฉes.

Crรฉez une instance de la classe Logger

La classe Logger est une Java- un utilitaire basรฉ sur Log4j, qui intรจgre dรฉjร  toutes les mรฉthodes gรฉnรฉriques nรฉcessaires ร  son utilisation.

Dรฉfinir le niveau Log4j

Il existe principalement sept types de niveaux de journalisation :

  1. TOUS โ€“ Ce niveau d'enregistrement enregistre tout (il active tous les journaux).
  2. DEBUG โ€“ affiche des informations de dรฉbogage et est utile en phase de dรฉveloppement.
  3. INFO โ€“ affiche des messages d'information qui mettent en รฉvidence l'avancement de l'application.
  4. AVERTISSEMENT โ€“ Affiche des informations concernant les comportements dรฉfectueux et inattendus du systรจme.
  5. ERREUR โ€“ affiche des messages d'erreur qui peuvent permettre au systรจme de continuer ร  fonctionner.
  6. FATAL โ€“ affiche des informations systรจme critiques qui provoquent le plantage de l'application.
  7. Dร‰SACTIVร‰ โ€“ Aucune journalisation.

Appendices

Un appender sert ร  acheminer les LogEvents vers leur destination. Il dรฉtermine le traitement des informations de journalisation. En d'autres termes, il รฉcrit les journaux dans un fichier. Voici quelques types d'appenders :

  1. ConsoleAppender consigne les informations dans la sortie standard.
  2. FileAppender enregistre les journaux dans un fichier spรฉcifique.
  3. RollingFileAppender รฉcrit dans un fichier de taille maximale.

ร€ noter: Dans le fichier log4j.properties, un appender peut รชtre nommรฉ de n'importe quelle faรงon. Il existe d'autres appenders, mais nous nous concentrerons ici sur ceux-ci.

layouts

La mise en page est responsable de la mise en forme des informations de journalisation selon diffรฉrents styles.

La classe Logger propose diffรฉrentes mรฉthodes pour gรฉrer les activitรฉs de journalisation. Elle fournit deux mรฉthodes statiques pour obtenir un objet Logger.

public static Logger getRootLogger()
public static Logger getLogger(String name)

Comment Log4j est-il configurรฉ ?

Pour configurer Log4j, choisissez l'appender ร  implรฉmenter. Les paramรจtres de cet appender sont ensuite dรฉfinis en consรฉquence.

  • Utilisez le niveau DEBUG et RollingFileAppender.
  • Deux configurations ou journaux sont crรฉรฉs :
    • Tout d'abord : un enregistreur racine, qui รฉcrit tous les journaux gรฉnรฉrรฉs par le systรจme dans un fichier nommรฉ Selenium.journaux.
    • Deuxiรจmement : un enregistreur dโ€™application qui consigne les informations gรฉnรฉrรฉes par les commandes manuelles dans le fichier nommรฉ Manual.logs.
  • La mise en page utilisรฉe est PatternLayout.

#Enregistreur de racine

log4j.rootLogger=DEBUG,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\Guru99\\src\\Selenium.logs
log4j.appender.file.maxFileSize=900KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.file.Append=false

#Journaux d'application

log4j.logger.devpinoyLogger=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.RollingFileAppender
log4j.appender.dest1.maxFileSize=900KB
log4j.appender.dest1.maxBackupIndex=6
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
log4j.appender.dest1.File=D:\\Guru99\\src\\Manual.logs
log4j.appender.dest1.Append=false

Dans l'exemple ci-dessus, Log4j est configurรฉ pour enregistrer les donnรฉes dans deux fichiers diffรฉrents nommรฉs Selenium.log et Manuel.log.

  • file et dest1 sont les deux identifiants.
  • ยซ File ยป est utilisรฉ pour indiquer le nom du fichier dans lequel les journaux sont enregistrรฉs.
  • ยซ maxFileSize ยป permet de configurer la taille maximale du fichier journal. Lorsque ce fichier atteint cette taille, un nouveau fichier est crรฉรฉ avec le mรชme nom, et l'ancien fichier reรงoit un suffixe d'index.
  • ยซ maxBackupIndex ยป permet de configurer le nombre maximal de fichiers ร  sauvegarder.
  • ยซ layout ยป est utilisรฉ pour dรฉfinir le format du fichier journal.
  • L'option ยซ Append ยป permet de configurer la fonction d'ajout. Lorsqu'elle est dรฉsactivรฉe, un nouveau fichier est crรฉรฉ ร  chaque enregistrement au lieu de rรฉutiliser l'ancien.

Comment utilise-t-on Log4j dans un script ?

Dans le code, ยซ log ยป est utilisรฉ comme variable de rรฉfรฉrence faisant rรฉfรฉrence ร  la mรฉthode getLogger de la classe Logger.

Logger log = Logger.getLogger("devpinoyLogger");

Utilisez la variable de rรฉfรฉrence ยซ log ยป et la mรฉthode de dรฉbogage pour consigner les informations nรฉcessaires.

log.debug("--information--");

Qu'est-ce qu'un outil LogExpert ?

LogExpert est un outil prรฉsentant les caractรฉristiques suivantes :

  1. LogExpert est un Windows Outil dรฉveloppรฉ pour le traitement des grumes.
  2. Il s'agit d'un visualiseur de journaux gratuit et open source.
  3. Il s'agit d'un outil d'analyse de journaux dotรฉ de multiples fonctionnalitรฉs telles que la recherche, le filtrage, la mise en signet et la mise en รฉvidence des journaux.
  4. Les fichiers journaux sont automatiquement mis ร  jour lorsqu'ils sont ouverts dans cet outil.
  5. Il est possible d'ouvrir plusieurs fichiers journaux dans diffรฉrents onglets.
  6. Il est possible d'ajouter des commentaires aux favoris, et un raccourci clavier permet de naviguer entre eux. Une liste complรจte des favoris est disponible pour la navigation.
  7. Des raccourcis clavier sont fournis dans le fichier d'aide afin de pouvoir s'y rรฉfรฉrer en cas de besoin.

Comment utiliser Log4j dans Selenium

ร‰tape 1) In Eclipse, crรฉez un nouveau projet nommรฉ log4j_demo.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 2) Clic droit sur src -> Chemin de compilation -> Configurer le chemin de compilation.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 3) Cliquez sur Bibliothรจques et ajoutez la bibliothรจque Log4j. Vous pouvez la tรฉlรฉcharger depuis [lien manquant]. https://logging.apache.org/log4j/1.2/download.html.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 4) Crรฉez un nouveau fichier. Ce fichier contiendra toute la configuration de Log4j.

  1. Clic droit sur src -> Nouveau -> Autre -> Gรฉnรฉral -> Fichier.
  2. Indiquez le nom du fichier comme ยซ log4j.properties ยป.
  3. Cliquez sur Terminer.

Crรฉez deux autres fichiers et nommez-les. SeleniumLes fichiers .log et Manual.log contiennent tous les journaux systรจme et les instructions enregistrรฉes manuellement.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 5) Dans le fichier log4j.properties, copiez l'intรฉgralitรฉ de la configuration.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 6) Crรฉer la classe principale :

  1. Faites un clic droit sur le package par dรฉfaut -> Nouveau -> Classe.
  2. Donnez un nom ร  la classe et cliquez sur Terminer.

Utilisez Log4j pour vous connecter Selenium

ร‰tape 7) Copiez le code suivant dans la classe principale.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.apache.log4j.Logger;

public class LoggingDemo {
    /**
     * @param args
     */
    public static void main(String[] args) {
         // TODO Auto-generated method stub
         WebDriver driver = new FirefoxDriver();
         Logger log = Logger.getLogger("devpinoyLogger");

         driver.get("https://healthunify.com/bmicalculator/");
         log.debug("opening website");
         driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
         log.debug("entering weight");
         driver.findElement(By.name("wg")).sendKeys("87");
         log.debug("selecting kilograms");
         driver.findElement(By.name("opt1")).sendKeys("kilograms");
         log.debug("selecting height in feet");
         driver.findElement(By.name("opt2")).sendKeys("5");
         log.debug("selecting height in inches");
         driver.findElement(By.name("opt3")).sendKeys("10");
         log.debug("clicking on calculate");
         driver.findElement(By.name("cc")).click();

         log.debug("getting SIUnit value");
         String SIUnit = driver.findElement(By.name("si")).getAttribute("value");
         log.debug("getting USUnit value");
         String USUnit = driver.findElement(By.name("us")).getAttribute("value");
         log.debug("getting UKUnit value");
         String UKUnit = driver.findElement(By.name("uk")).getAttribute("value");
         log.debug("getting overall description");
         String note = driver.findElement(By.name("desc")).getAttribute("value");

         System.out.println("SIUnit = " + SIUnit);
         System.out.println("USUnit = " + USUnit);
         System.out.println("UKUnit = " + UKUnit);
         System.out.println("note = " + note);
        driver.quit();
    }
}

Dans le code ci-dessus, le script visite https://healthunify.com/bmicalculator/ et vรฉrifie le calculateur d'IMC. Le poids saisi est de 87 kg et la taille de 1,78 m (5 pieds 10 pouces). Le script vรฉrifie les rรฉsultats en unitรฉs SI, amรฉricaines et britanniques.

Le script utilise Logger.getLogger("devpinoyLogger") pour crรฉer des journaux systรจme. La mรฉthode log.debug permet ensuite d'enregistrer les donnรฉes dans Manual.log.

ร‰tape 8) Exรฉcutez le script. Ouvrez l'emplacement du manuel et Selenium journaux pour vรฉrifier les donnรฉes de journalisation.

Comment l'outil LogExpert peut รชtre utilisรฉ pour analyser les journaux

  1. Tรฉlรฉchargez l'outil sur https://github.com/zarunbal/LogExpertAccรฉdez au dossier de tรฉlรฉchargement de LogExpert.

    L'outil LogExpert peut รชtre utilisรฉ pour analyser les journaux

  2. Ouvrez LogExpert.exe.
  3. Cliquez sur Fichier -> Ouvrir et accรฉdez au chemin d'accรจs oรน se trouvent Manual.log et SeleniumDes fichiers .log sont enregistrรฉs. Sรฉlectionnez le fichier.
  4. Sรฉlectionnez l'option ยซ Suivre la queue ยป.

    L'outil LogExpert peut รชtre utilisรฉ pour analyser le journal

    L'option ยซ Suivre la trace ยป active le suivi des journaux, ce qui signifie que LogExpert met automatiquement ร  jour le fichier journal pendant l'exรฉcution du script. Avec un autre รฉditeur comme le Bloc-notes, il faudrait fermer et rouvrir le fichier ร  plusieurs reprises pour que les journaux soient mis ร  jour. Avec LogExpert en mode ยซ Suivre la trace ยป, cette opรฉration n'est pas nรฉcessaire.

    Les images suivantes illustrent la disposition des bรปches.

    L'outil LogExpert peut รชtre utilisรฉ pour analyser le journal

    L'outil LogExpert peut รชtre utilisรฉ pour analyser le journal

En utilisant LogExpert, les journaux crรฉรฉs par le Selenium WebDriver peut รชtre dรฉboguรฉ. Cet outil permet de :

  • Rechercher n'importe quel texte et expression rรฉguliรจre.
  • Crรฉez des signets, commentez-les et naviguez entre eux, ce qui est impossible avec d'autres outils.
  • Filtrez les journaux, recherchez des plages de texte et appliquez un autre filtre aux journaux prรฉcรฉdemment filtrรฉs.
  • Surligner diffรฉrentes lignes en fonction de certains mots.

Cet outil permet รฉgalement de partitionner les donnรฉes en diffรฉrentes colonnes.

FAQ

Log4j 1.x, dont le support a รฉtรฉ abandonnรฉ en 2015, utilise un fichier de propriรฉtรฉs ou XML pour sa configuration. Log4j 2.x offre de meilleures performances, la prise en charge des journaux asynchrones et des fonctions lambda, ainsi qu'une sรฉcuritรฉ renforcรฉe grรขce aux correctifs Log4Shell, ce qui en fait le choix recommandรฉ pour les nouveaux projets.

Log4j prend en charge les niveaux de journalisation configurables, l'รฉcriture dans des fichiers persistants, les sauvegardes continues et les modรจles structurรฉs. La fonction System.out.println รฉcrit uniquement dans la console et ne peut รชtre ni filtrรฉe ni archivรฉe. Log4j permet Selenium Les rรฉsultats des tests sont plus faciles ร  trier, ร  auditer et ร  reproduire.

Oui. Les assistants IA peuvent analyser de gros volumes de donnรฉes Log4j, regrouper les dรฉfaillances rรฉpรฉtรฉes et identifier les causes profondes des problรจmes. Selenium Ils mettent en รฉvidence les localisateurs instables, les รฉtapes lentes et les piles. trace, en transformant les lignes de journal brutes en รฉlรฉments d'action prioritaires pour les ingรฉnieurs QA.

Les plateformes d'observabilitรฉ basรฉes sur l'IA ingรจrent les flux Log4j, dรฉtectent les anomalies en temps rรฉel et prรฉdisent les pannes avant qu'elles n'affectent les utilisateurs. Les modรจles d'apprentissage automatique รฉvaluent la gravitรฉ des problรจmes, dรฉdupliquent les รฉvรฉnements parasites et dรฉclenchent des alertes intelligentes, remplaรงant ainsi les recherches manuelles par une surveillance proactive.

Non. LogExpert est un logiciel gratuit populaire. Windows visionneuse avec suivi de trace et filtrage, mais les alternatives incluent BareTail, glogg, Klogg et des plateformes complรจtes comme Splunk, Graylogou la suite ELK pour une analyse centralisรฉe sur plusieurs machines.

Rรฉsumez cet article avec :