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.
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
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 :
- TOUS โ Ce niveau d'enregistrement enregistre tout (il active tous les journaux).
- DEBUG โ affiche des informations de dรฉbogage et est utile en phase de dรฉveloppement.
- INFO โ affiche des messages d'information qui mettent en รฉvidence l'avancement de l'application.
- AVERTISSEMENT โ Affiche des informations concernant les comportements dรฉfectueux et inattendus du systรจme.
- ERREUR โ affiche des messages d'erreur qui peuvent permettre au systรจme de continuer ร fonctionner.
- FATAL โ affiche des informations systรจme critiques qui provoquent le plantage de l'application.
- 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 :
- ConsoleAppender consigne les informations dans la sortie standard.
- FileAppender enregistre les journaux dans un fichier spรฉcifique.
- 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 :
- LogExpert est un Windows Outil dรฉveloppรฉ pour le traitement des grumes.
- Il s'agit d'un visualiseur de journaux gratuit et open source.
- 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.
- Les fichiers journaux sont automatiquement mis ร jour lorsqu'ils sont ouverts dans cet outil.
- Il est possible d'ouvrir plusieurs fichiers journaux dans diffรฉrents onglets.
- 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.
- 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.
รtape 2) Clic droit sur src -> Chemin de compilation -> Configurer le chemin de compilation.
ร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.
รtape 4) Crรฉez un nouveau fichier. Ce fichier contiendra toute la configuration de Log4j.
- Clic droit sur src -> Nouveau -> Autre -> Gรฉnรฉral -> Fichier.
- Indiquez le nom du fichier comme ยซ log4j.properties ยป.
- 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.
รtape 5) Dans le fichier log4j.properties, copiez l'intรฉgralitรฉ de la configuration.
รtape 6) Crรฉer la classe principale :
- Faites un clic droit sur le package par dรฉfaut -> Nouveau -> Classe.
- Donnez un nom ร la classe et cliquez sur Terminer.
ร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
- Tรฉlรฉchargez l'outil sur https://github.com/zarunbal/LogExpertAccรฉdez au dossier de tรฉlรฉchargement de LogExpert.
- Ouvrez LogExpert.exe.
- 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.
- Sรฉlectionnez l'option ยซ Suivre la queue ยป.
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.
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.












